![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
php
晴_空
这个作者很懒,什么都没留下…
展开
-
PHP 计算开始时间到结束时间相隔的年,月,周,天
分享一个算法,计算开始时间到结束时间相隔n年,n月,n周,n天。/** * @note getDateGap 计算时间段 $start ~ $end 总共跨了n年,n月,n周,n天 * @param $start 开始时间 * @param $end 结束时间 * * @return array $result [year_gap, month_gap, week_gap, day_gap]; */private function getDateGap($start, $end){原创 2021-09-09 18:34:17 · 472 阅读 · 0 评论 -
PHP多进程任务学习实践
直接上代码ini_set('display_errors', 'off');error_reporting(E_ALL^E_WARNING^E_NOTICE);// 作用是每执行一次低级语句会检查一次该进程是否有未处理过的信号,ticks控制语句执行的条数declare(ticks = 1);class JobDaemonDemo{ public $maxProcess =...原创 2019-12-24 11:49:52 · 226 阅读 · 0 评论 -
ctype类函数使用
函数接口如下(返回值都是bool值)://判断text是否由数字或字母组成function ctype_alnum ($text) {}//判断text是否全由字母组成function ctype_alpha ($text) {}//判断text是否都由控制字符(例:换行[\n\r]、缩进[\t]、空格[])组成function ctype_cntrl ($text) {}...原创 2018-07-30 17:55:25 · 2181 阅读 · 0 评论 -
yii按需加载静态资源
自定义按需加载css,js文件,并放在最后1、模块下assets/appAsset.php中注册两个方法addCss和addScript。//定义按需加载css方法,注意加载顺序在最后 public static function addCss($view, $cssfile) { $view->registerCssFile($cssfile, [AppAsse...原创 2018-07-30 18:03:52 · 777 阅读 · 0 评论 -
macmini中vagrant不能创建文件解决办法
开发环境是macnimi os,运行环境是vagrant + nginx + php。最近在开发过程中,需要跟py同事联调,拿参数的时候,想通过写日志文件的形式拿到参数,进行测试;可是遇到了文件不能创建的问题,再加上之前又遇到过无权限创建目录的问题,所以下定决心,一定要解决这个权限问题。测试过多种办法,最后在百度问答中看到了这个解决办法,并测试通过。原链接没有贴过来,把这个解决办法...转载 2018-07-30 18:12:41 · 238 阅读 · 0 评论 -
mysql5.7版本json原生函数初体验
mysql 5.7版本中原生json的使用体验mysql> select version();+------------+| version() |+------------+| 5.7.18-log |+------------+1 row in set (0.00 sec)测试数据mysql> select disk from prs_devi...原创 2018-08-24 10:11:38 · 689 阅读 · 0 评论 -
将乱序时间排序,并组合成时间段
背景:后端在处理用户访问关系时,将全天时间按30分钟分隔成48个时间点,并乱序存入数据库中。而前端需要将其格式化成时间段形式(如13:00-18:00)展示。示例数据如下:["03:00", "02:00","02:30","23:00","22:30","04:30",&qu原创 2018-09-26 17:52:46 · 1010 阅读 · 0 评论 -
Yii2 elasticseach ssl认证配置及源码修改
后面做了优化,修改源码,建议采用优化后的方法1、修改本地es连接配置(源码示例容易误导,看源码读取配置后才正确配置):2、修改protocol设置,yii2中es连接之前会获取所有的可连接es集群,因为es不存在protocol属性,源码中手动设置为http,这个地方作者考虑补全,没有采用本地配置的protocol,因此要修正:3、修改curl请求的证书认证,增加三个opt选项,CURL...原创 2018-10-24 19:15:01 · 505 阅读 · 0 评论 -
记录 not an SSL/TLS record
日志记录如下:[2019-01-23T14:42:35,850][WARN ][o.e.x.s.t.n.SecurityNetty4HttpServerTransport] [node0] caught exception while handling client http traffic, closing connection [id: 0xe38f8ac0, L:0.0.0.0/0.0.0...原创 2019-01-23 17:55:39 · 23774 阅读 · 0 评论 -
Yii2使用总结
empty()函数的使用场景:示例:var_dump(empty(null));var_dump(empty(''));var_dump(empty([]));var_dump(empty(false));var_dump(![]);输出:truetruetruetruetruemysql增删改查操作示例://查,返回array()se...原创 2018-07-30 17:53:42 · 287 阅读 · 0 评论 -
判断指定IP是否在指定IP段中
最近在做一个访问控制的功能,只允许指定IP,或者IP段中的IP访问。 下面方法用来判断指定IP是否在指定IP段中(已通过测试)。/** * 判断IP是否在某个网段内 * @param $ip * @param $network * @return bool */function ipInNetwork($ip, $network){ $ip = (double) (sp...原创 2018-05-21 16:56:57 · 1602 阅读 · 0 评论 -
转:phpstorm破解教程
PhpStorm官网你可以直接去下载免费试用版本,在这里我们不过多说了。直接教大家怎么安装破解版的。 1.目前这个破解方法只对2017.1.4版本及以前的版本起作用,所以你要下载这之前的版本。足够使用了。当然你也可以下载最新版本自己找破解方法或者淘宝买也ok。 点击下载:PhpStorm-2017.1.4.exe 密码:vncr 2.下载安装之后,打开:F:\PhpStorm 201...转载 2018-05-20 22:00:21 · 976 阅读 · 0 评论 -
iis10配置php教程
对于刚刚入行IT并且从事php编程的同志来说,在使用windows自带IIS服务器的情况下,怎样运行一个php程序,也是一件很让人头疼的事。php起步的时候,对服务器没有进行深入了解,用的是wamp集成环境,apache,MySQL都集成到一个包里了,下载安装即可用。后来在公司上班后,用的是kangle服务器,首个国产服务器,目前用户量不大。再后来,自己电脑配置开发环境的时候,apac原创 2017-07-22 08:15:36 · 2672 阅读 · 1 评论 -
iis10配置php教程2
上篇博文中写了如何在iis中配置php,那这篇博文就来说说如何在IIS服务器中创建自己的网站。如果php环境成功配置好了的话,接下来的新建网站那就很简单了。1.首先是打开IIS管理器,选择左边服务器,右键点击网站,选择添加网站,弹出一下输入框。网站名称,即在IIS中显示区分的网站名字,这项可以任意填。内容目录,即网站路口文件所在的路径ip绑定,即访问网站的ip地址及端口,不了解原创 2017-07-23 22:54:34 · 468 阅读 · 0 评论 -
iis10配置PHP运行环境教程3
看了我前两篇iis10配置PHP的教程的同学,并跟着教程配置了环境的同学,如果遇到了500的错误,我向大家请求原谅,这是我的失误造成的。还有关键的一部分忘记讲了。因为这个php环境我配置好很久,近期才开通博客,并写了这个教程。现在将这部分补上。昨天因为遇到更新PHP版本的问题,iis中是自动使用最高版本PHP的,但是昨天因为看到好几个版本的PHP文件,所以 手贱,将低版本的php都删除了。而我原创 2017-08-16 21:52:23 · 447 阅读 · 0 评论 -
php自写api文档生成工具
框架改版后的第二个版本定下来了,这两天也比较轻松,于是就折腾给项目建个好看的api文档。各种折腾。先是折腾phpDocumentor2,用phpdoc开源工具来建立文档,好不容易安装成功,各个模板都使用了一遍,还是不满意。后来又发现了swagger文档生成工具,起初看起来还蛮直观的,但是一看注释块,又觉得太繁琐了。索性,主管拍板,自己写一个api文档生成类,满足自己的需求。1.我们的接原创 2017-08-10 22:37:08 · 4623 阅读 · 0 评论 -
今天又get到了一个新技能-trim(null)==‘’
php 中trim(null)的值是空(即”)在开发中遇到一个特殊情况: 在使用ajax请求时,php程序中并没有获取到get或post的参数,前端也没有传递这些参数,因此我在程序中判断这些参数存不存在是用的$param !== null 来判断的。然而,每次请求,这个判断都和预期的不一致,在没有传递参数的情况下,这个表达式的值总是为false ,因此很郁闷,开始了自己的bug之旅。经过十几二十原创 2017-08-26 21:11:12 · 3106 阅读 · 0 评论 -
filter_var过滤私有ip
示例$host = "192.168.1.1";var_dump(filter_var($host, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 | FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE));echo "<br>";$host = "127.0.0.1";var_dump...原创 2018-02-26 15:48:10 · 818 阅读 · 0 评论 -
yii2-advanced版lnmp环境下500问题
打开php.ini的错误显示:display_error=on,查看到如下错误Warning: require(): open_basedir restriction in effect. File(/opt/yii-app/vendor/autoload.php) is not within the allowed path(s): (/opt/yii-app/api/web/:/tmp/:...转载 2018-05-18 11:29:06 · 663 阅读 · 0 评论 -
ubuntu安装lnmp后开启mysql,redis远程访问
lnmp集成安装后,即使关闭了服务器防火墙,mysql依然不能远程连接。因为lnmp默认添加了iptables规则,禁止了远程访问3306,6379端口。root@iZjr5oba73m1ygZ:/usr/local/nginx/conf# iptables -L -nChain INPUT (policy ACCEPT)target prot opt source ...原创 2018-05-18 17:07:16 · 605 阅读 · 0 评论 -
js或者php简单实现购买产品满1年优惠2个月的算法
最近公司网站一直在改版,从用户页面大改,到内核大改,这个过程持续快要两个月了。现在刚改好了用户vip续费满一年优惠2个月的逻辑,觉得这部分代码很简洁明了,特分享给大家本地测试场景是这样的:用户已经是vip4的用户了,vip4用户续费一个月花费1000元,续费一年优惠两个月花费1万元。现在我们要处理的就是扣费这部分,js和php实现代码如下://+======javascript=====原创 2017-07-30 00:42:06 · 1257 阅读 · 0 评论