PHP的多样化执行方式(parallel PHP多线程实现,原生协程实现,多进程实现,ZTS、NTS、TS又是什么)-牛翰网

PHP的多样化执行方式(parallel PHP多线程实现,原生协程实现,多进程实现,ZTS、NTS、TS又是什么)

进程、线程、协程 进程:应用程序的启动实例,运行起的代码叫进程,有独立的内存空间,类比工厂的P个(P=1单进程,P>1多进程)车间。 线程:线程是CPU调度的最小单位,是进程内的执行单元,...
11个月前
0408
3种策略巧妙化解PHP Trait成员属性冲突-牛翰网

3种策略巧妙化解PHP Trait成员属性冲突

说明 PHP语言本身可以用insteadof和as关键字解决多个trait同名成员方法冲突的问题,但是貌似没有直接解决同名成员属性冲突的方案。 虽然属性名冲突极少发生,但是不代表不会发生。 如果是自定义...
11个月前
0377
Linux系统下配置Nginx使部分URL使用多套自定义的PHP-FPM配置-牛翰网

Linux系统下配置Nginx使部分URL使用多套自定义的PHP-FPM配置

Nginx修改演示: vim /usr/local/nginx/conf/vhost/example.com server{ listen 80; server_name 192.168.1.180; location / { root /Code/project/public; index ind
11个月前
0287
可控概率抽奖算法-牛翰网

可控概率抽奖算法

说明 本文PHP语言去实现,只实现核心可控概率引擎,库存判断等其它业务需要其它代码配合实现。 代码 /** * @function 封装可控概率的抽奖功能 * @param $arr array 数据集合 * @param $weight_k...
11个月前
0297
深入理解高并发超卖一系列问题与解决方案(近7万字详解,跳槽涨薪必备宝藏珍藏级分享)-牛翰网

深入理解高并发超卖一系列问题与解决方案(近7万字详解,跳槽涨薪必备宝藏珍藏级分享)

破除困境带你飞 能遇上高并发的,基本都是有点规模的公司,小公司基本都是CRUD。 想去一线城市跳槽,想去有高并发的公司,但是没有高并发经验,没有高并发的经验,就去不了高并发的公司,去不了...
11个月前
0376
PHP APCu缓存使用与避坑-牛翰网

PHP APCu缓存使用与避坑

APCu 极简概括: PHP 的开源内存缓存扩展,类比Redis,但是一般都用Redis,所以APCu用的很少。 官方文档:https://www.php.net/manual/zh/apcu.configuration.php 解决问题:类比Redis做缓存组...
11个月前
0495
深入理解Laravel(CVE-2021-3129)RCE漏洞(超2万字从源码分析黑客攻击流程)-牛翰网

深入理解Laravel(CVE-2021-3129)RCE漏洞(超2万字从源码分析黑客攻击流程)

背景 近期查看公司项目的请求日志,发现有一段来自俄罗斯首都莫斯科(根据IP是这样,没精力溯源)的异常请求,看传参就能猜到是EXP攻击,不是瞎扫描瞎传参的那种。日志如下(已做部分修改): [...
11个月前
0495
PHP文件上传安全:优化代码有效防范漏洞-牛翰网

PHP文件上传安全:优化代码有效防范漏洞

目录 原生漏洞PHP示例代码: 原生漏洞PHP漏洞优化意见(获取临时文件的真实类型): 对Laravel框架,也有同样的问题,别用错函数: 对Laravel任意文件上传漏洞优化意见(获取临时文件的真实类型...
十几个冷门还好用的PHP写法(冷门的让人震惊)-牛翰网

十几个冷门还好用的PHP写法(冷门的让人震惊)

环境:PHP8.1 1. else foreach/else for //012 if(false) { } else for($i = 0; $i < 3; $i++) { echo $i; } //012 if(false) { } else foreach([0, 1, 2] as $v
11个月前
0285
用PHP封装一个强大且通用的cURL方法-牛翰网

用PHP封装一个强大且通用的cURL方法

用PHP封装一个强大且通用的cURL方法。 用PHP封装一个强大且通用的cURL方法。 用PHP封装一个强大且通用的cURL方法。 用PHP封装一个强大且通用的cURL方法。 /** * @function 强大且通用的cURL请求...
11个月前
0525