php
文章平均质量分 93
关于世界上最好的语言的学习和工作中的使用
前人种树
5年以上工作经验,互联网lnmp老兵,熟悉php,redis,nginx,linux底层,熟悉互联网相关程序开发和注意事项。
展开
-
php静态代码分析工具设计与实现
项目地址:背景:1.阅读调用栈复杂的业务代码很多业务代码由于时间的积累调用链较深,不能随便执行(xhprof等工具只能执行时采集调用栈,并且覆盖不到分支维度),通过IDE查看麻烦(要记住之前看的每一层,很容易迷路)2.找到历史遗留的无效代码经常有些代码被添加到代码库,但是一直没有调用,或者调用方是一个临时活动,入口已经删除了但没有删除干净,后面的model层还有遗留的代码,而IDE对应类中的共有方法是不会标明没有调用的,要一个一个手动翻看,工作量巨大。3.下线数据源下线数据源要原创 2020-12-03 21:25:07 · 832 阅读 · 4 评论 -
模仿php-fpm用php实现一套多进程管理框架
之前我分析过fpm中的进程管理,是采用纯c语言实现的,其实php本身的pcntl拓展也提供了进程创建,信号管理的功能。于是我打算模仿fpm在php里实现一套进程管理工具。TODO列表 使用pcntl_signal 处理,SIGCHLD 和 SIGINT 创建多个进程,父进程记录pids,在子进程退出的时候更新pids 创建多个进程,父进程记录pids,在子进程退出的时候重启子进程,让子进程的数量固定 通过向父进程发送 SIGQUIT 实现退出所有进程 通过向父进程发送 SIGUSR2 实现重启原创 2020-10-25 13:51:16 · 393 阅读 · 0 评论 -
PHP-FPM中进程管理的实现
背景fpm是一个php进程管理工具,是php sapi的一种官方实现,盗用一张《PHP7底层设计与源码实现》中的图片,如果学习php,那基本上就是web后端,那么就离不开fpm,了解fpm的重要性可想而知,而fpm中的进程管理也是fpm能在高并发环境中让php有一席之地的原因。1.fpm的启动过程先来一张流程图,这个是fpm启动时调用的一些函数,其中1,2,3,4是公有的(也就是fork之前父子进程都会存在的一些东西)5是fork完成之后只有父进程才会有的,while accept循环是只有子进程原创 2020-08-22 13:51:12 · 732 阅读 · 0 评论 -
用vscode调试php源码
1111原创 2020-07-31 23:10:19 · 2996 阅读 · 0 评论 -
phpredis中的事务
phpredis中的事务背景事务的定义redis中的事务欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流...原创 2020-04-17 01:00:04 · 725 阅读 · 0 评论