PHP
学习分享PHP知识
亮仔IT哥
理学学士,5年PHP开发工作经验,性情随和,乐于分享。上敲的了代码,下进的了厨房。喜欢书法,爱好音乐。
展开
-
PHP扩展编写实战helloworld
1、cd ext2、./ext_skel --extname=helloworld3、vim config.m4去掉注释:PHP_ARG_WITH(helloworld, for helloworld support,Make sure that the comment is aligned:[ --with-helloworld Include helloworld support])4、/usr/local/php-7.1.0/bin/phpize5、vim.原创 2022-04-12 12:42:27 · 1310 阅读 · 0 评论 -
PHP的curl发送POST请求(不带请求参数)返回400状态码
问题出在Linux下如果发送空请求参数的时候不能使用curl_setopt($ch, CURLOPT_POST, true)来设置为POST请求。如果确有需要,可以用curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'POST')代替。但是如果我们使用别人提供的类库时,这时候只能随便加个参数上去,不要发送空请求就好了,比如随便加个t=time()。...原创 2021-05-18 16:40:13 · 589 阅读 · 0 评论 -
解决PHPExcel导出长数字末尾几位数为0的问题
在excel中默认“常规”情况下,单元格中能完全显示的数据只有11位,超过11位,系统自动用科学记数显示。当单元格格式设置为“数值”、小数点位数为0时,最多也只能完全显示15位数字,超过15位,从16位开始显示为0。完整显示输入的所有数字,可以采用下述方法之一:一是首先输入一英文单引号再输入数字。二是把数据区域设置成“文本”格式后再输入数字。在phpexcel中解决的办法//输出单元格值之前的部分代码$objactsheet->setcellvalue('b'.$i, $value.原创 2021-01-26 14:48:05 · 629 阅读 · 0 评论 -
计划任务定时检测进程是否存在,不存在则启动
$cmd = "ps axu| egrep '(think testB)'|grep -v 'grep'|wc -l"; $ret = shell_exec("$cmd"); echo $ret; $ret = rtrim($ret, "\r\n"); if($ret === "0") { $start_master_cmd = "nohup /home/pubsrv/php-7.2.27/bin/ph...原创 2021-01-12 18:57:03 · 936 阅读 · 0 评论 -
openssl实现DES加密
<?php/** * openssl 实现的 DES 加密类,支持各种 PHP 版本 */class DES{ /** * @var string $method 加解密方法,可通过 openssl_get_cipher_methods() 获得 */ protected $method; /** * @var string $key 加解密的密钥 */ protected $key; /** *原创 2021-01-11 11:41:53 · 1371 阅读 · 0 评论 -
判断是不是小程序打开
//是否小程序打开 public static function isMiprogramOpen() { if (strpos($_SERVER['HTTP_USER_AGENT'], 'miniProgram') !== false ||strpos($_SERVER['HTTP_USER_AGENT'], 'miniprogramhtmlwebview') !== false ) { return true; } else {...原创 2021-01-08 11:42:30 · 658 阅读 · 0 评论 -
获取某年某月某日的时间开始结束时间
$time = time(); $year = date('Y');// 今年 $month = date('m');// 这个月 $day = date('d');// 今天 $today_begin = strtotime(date('Y-m-d',$time));// 今天开始时间 $today_end = mktime(23,59,59,$month,$day,$year);// 今天结束时间 // 60*60*24 = 86400; $...原创 2020-12-29 10:44:49 · 374 阅读 · 0 评论 -
获取某年某月某日的时间开始结束时间戳
文章目录1. 某日开始和结束的时间戳2. 今日开始和结束的时间戳3. 昨日开始和结束的时间戳4. 本周开始和结束的时间戳5. 上周开始和结束的时间戳6. 本月开始和结束的时间戳7. 上个月开始和结束的时间戳8. 今年开始和结束的时间戳9. 去年开始和结束的时间戳1. 某日开始和结束的时间戳 /** * 返回某日开始和结束的时间戳 * @param int $time 某日任意时间的时间戳 * @return array */ public stati原创 2020-12-29 10:25:29 · 687 阅读 · 0 评论 -
日期超强总结
文章目录1、获取年月日2、获取时分秒3、获取年月日时分秒4、今年是否闰年5、获取当月多少天6、根据月份获取天数7、根据月份获取当月第一天8、根据月份获取当月最后一天9、获取上个月第一天10、获取上个月的最后一天11、获取昨天12、获取前天,即三天前13、获取明天14、获取一周以后15、获取一周零两天四小时两秒后16、获取下个星期四17、获取上周一18、获取一个月以前19、获取一个月以后20、获取十年后21、服务器的时间区域设置1、获取年月日echo date('Y-m-d');2、获取时分秒ech原创 2020-12-29 10:09:15 · 419 阅读 · 0 评论 -
并发防超卖最简单的办法
测试代码:class Test{ public function test(){ // 启动事务 Db::startTrans(); try { $prizeM = MarketingCampaignPrize::where('total','>',0)->where('campaign_id',80) ->g原创 2020-12-19 11:47:36 · 664 阅读 · 4 评论 -
unserialize():Error at offset 0 of 96 bytes
使用它抛错addslashes(serialize(json_encode($useDateStraArr)));解决:json_decode(unserialize(stripslashes($data['use_date_stra'])), true);原创 2020-12-03 18:04:48 · 248 阅读 · 0 评论 -
千万数据接口同步
一、背景公众号迁移,需要把A服务器的粉丝数据迁移到B的服务器,采取HTTP的方式传输 数据大概500多万 耗时大概25个小时二、技术方案调用端:A采用PHP脚本调用apiA服务器上传PHP脚本,从数据库每次查出1000条数据后调用api执行一次操作通过ID分段同时启用三个进程同时跑接收端:B服务器采用thinkPHP5框架 通信加密采用openssl一次500条数据批量插入有抛错我会把错误的批次数据写入一个文件,把抛错信息写入另一个文件数据跑完后用脚本单独处理抛错的批次数据,逐原创 2020-08-01 13:17:36 · 1225 阅读 · 0 评论 -
扫码登录原理
https://www.cnblogs.com/54chensongxia/p/12530268.html原创 2020-07-13 20:02:43 · 354 阅读 · 0 评论