为自己加油
个人记录学习笔记的网站
php proc_open子进程无法请求网络
最近通过proc_open创建子进程,为了区分进程,特别在创建进程时添加了进程环境变量来标识,但是发现子进程无法正常请求网络。模拟进行复现a.php主进程:<?php $cmd = "C:/phpEnv/php/php-7.0/php.exe D:/wwwroot/learn/b.php"; $desc = []; $env = [ 'p
2021年02月04日 09时02分04秒
1014次浏览
分类:PHP
阅读更多
php使用register_tick_function来定位执行慢的代码
同事在优化页面加载慢的问题中将数据分离为2个接口来分别异步加载,但是实际的情况是接口1一直在查询,接口2也一直在查询,接口2一定要等接口1查询完成才能返回结果。一直以为fast-cgi进程数问题,反复设置无效,通过getmypid就能看到每次相应的进程id不同。正好我有空就想到通过register_tick_function来判断到底是卡在哪一行,一旦注册register_tick_function,php执行一行代码都会调用注册的处理函数,通过计算上一次代码执行时间和本次执行时间即可定位位置。
2021年01月28日 20时01分56秒
1298次浏览
分类:PHP
阅读更多
php调用谷歌无头浏览器访问网页+推送百度(代码备份)
php调用谷歌无头浏览器访问网页(代码备份):<?php $i = 1403; while ($i--) { $url = "https://wap.xingxinghan.cn/?id=" . $i; $cmd = "chrome --headle
2021年01月19日 20时01分14秒
1739次浏览
分类:PHP
阅读更多
php惊群效应,php多进程共享一个套接字的问题,workerman多进程共享socket
最近同事和我讨论到workerman父进程创建一个socket,然后子进程都在读取,这样不会数据错乱吗?最终我们得出的结论是:在php层面,多个子进程服用主进程的套接字,当出现一个客户端连接请求的时候,底层会触发唤醒所有php子进程,但是最终只会有1个子进程获取到这个请求连接,也就是说这种情况属于锁的一种,抢到就是谁的,这个可以参考nginx的惊群的效应,只不过高级语言都帮我们处理好了,我们不需要关注而已。当然更理想的方式应该是端口复用,由Linux层调度性能更优。参考链接:https://bl
2020年12月07日 20时12分56秒
1318次浏览
分类:PHP
阅读更多
zblog实现同分类上一篇、下一篇文章的方法(php版本)
zblog实现同分类上一篇、下一篇文章的方法,PHP版本,网上一搜索一堆的asp版本相互抄袭,真的好恶心。(1).编辑文件zb_system/function/lib/post.php找到大约203行,case 'Prev':这部分:$articles = $zbp->GetPostList( array('*'), array(array
2020年11月26日 22时11分29秒
1279次浏览
分类:PHP
阅读更多
php关闭浏览器继续执行踩坑记录
最近在项目中需要批量刷数据,但是由于项目的框架太老无法简单的使用命令行,而且项目比较急,所以想到之前的php关闭浏览器继续执行的路子,我记得php客户端断开继续执行需要配置nginx和fpm和php的配置,当时既修改php又修改fpm,但是找不到当时记录的配置信息了,后来想到自己之前测试过一个方法可行,于是翻出来了,代码如下://设置客户端断开依然运行 ignore_user_abort(true); //设置脚本不超时 set_time_limit(0); //死循环每隔1秒访
2020年11月14日 18时11分24秒
1340次浏览
分类:PHP
阅读更多
php8开启jit,php8配置jit,如何在PHP8中设置开启JIT
PHP配置jit,PHP 8在PHP的内核中添加了JIT编译器,可以极大地提高性能。更强的cpu密集处理,或许以后php也可以适当做复杂协议解析。首先,仅在启用opcache的情况下,JIT才有效,这是大多数PHP安装的默认设置,但您应确保opcache.enable在php.ini文件中将其设置为1 。通过opcache.jit_buffer_size设置JIT。请注意,如果您通过命令行运行PHP,则还可以通过-d标志传递这些选项,而不是将它们添加到php.ini,例如php -do
2020年11月08日 15时11分52秒
5096次浏览
分类:PHP
阅读更多
letcode两数之和php版本
先看看题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 +&n
2020年11月07日 18时11分18秒
1007次浏览
分类:PHP
阅读更多
你pop了redis列表里的数据之后进程挂了怎么办,redis pop 进程挂了怎么办
你pop了redis列表里的数据之后进程挂了怎么办,这是一道今年流行的php面试题。首先php进程pop了redis的数据,那么此时php进程要么是被kill或者kill -9或者断电进程退出,只有在kill的情况php可以通过信号再次push进去。如果这里的进程说的是redis进程,那么很有可能redis进程当时从内存中已经移除这个元素,但是没有持久化到磁盘,下次启动数据还在,此时考察的就是持久化策略问题,这里推荐选择aof,每次执行命令就进行同步,只是减少数据丢失或错误的可能。如果对数据安全
2020年11月05日 21时11分31秒
2011次浏览
分类:PHP
阅读更多
为php定制漂亮的错误提示
关于PHP的烦恼之一是它引发的错误消息过于简洁。并不是说完全没用;最让人头疼的是,必须在给定的错误位置打开源文件来检查问题。此外,也不容易获得完整的系统上下文,例如(PHP系统变量,cookie,会话等)。Whoops是一个不错的错误提示库,它通过帮助您以用户友好的方式处理错误和异常来帮助您更好地开发和维护PHP项目。Whoops已经是Laravel 4的一部分,放心用起来。看看下面这个错误代码:$planets = array(); echo $planets[
2020年11月04日 22时11分31秒
1298次浏览
分类:PHP
阅读更多
‹‹
上一页
5
6
7
8
9
下一页
››
Top
首页
在线工具
后台登陆
×
×