PHP内核分析之生命周期五个阶段(四)

phpmianshi3年前 (2018-05-05)php556
一、模块初始化阶段我们先来看一下该阶段的每个函数的作用。1.1、sapi_initialize_request_empty函数// main/SAPI.c SAPI_API vo...

PHP内核分析之生命周期(三)

phpmianshi3年前 (2018-04-22)php1366
一、概览PHP生命周期有五个阶段,分别为模块初始化阶段、请求初始化阶段、执行阶段、请求关闭阶段、模块关闭阶段。只是不同SAPI模式下,请求的情况略有不同,比如FastCGI下只经历了一次模块初始化阶段...

PHP内核分析之源码目录结构 (二)

phpmianshi4年前 (2018-04-05)php1193
一、目录概览以php-7.4.1为例,目录多达十多个,下面介绍主要目录。├── build   linux下编译相关的目录├── ext      P...

PHP内核分析之GDB使用(一)

phpmianshi4年前 (2018-04-02)php2457
1.PHP源码下载和安装https://github.com/php/php-src/releases$ ./configure --prefix=/usr/local/php7&...

Windows下nginx+fastcgi+php的并发阻塞问题

phpmianshi4年前 (2017-06-03)php446
同事接到一个需求,需要调用同一个项目的另一个接口,于是CURL调用接口。代码撸完了,本地测试一下 浏览器一直转圈圈直到超时…… 百思不得其解主要是windows+nginx开发环境遇到的问题,本人很少...

php闭包的优缺点

phpmianshi4年前 (2017-06-02)php667
闭包函数:临时创建一个没有名称的函数,经常作为回调函数来用。通俗的说就是:子函数可以使用父函数中的局部变量,这种行为叫做闭包。我的理解是: 闭包就是能够读取其他函数内部变量的函数。匿名函数赋...

PHP红包分配算法

phpmianshi4年前 (2017-06-01)php1346
<?php /**  * User: phpmianshi.com   * Date: 2020/3/31 &nbs...

理解PHP中的Generator

phpmianshi5年前 (2017-04-06)php708
PHP中Generator,似乎是在5.5版中引入了。PHP中的协程必须依赖于Generator来实现,所以我觉得有必要先专门写一篇文章介绍Generator。Generator这个单词在这里对应的中...

PHP数组实际占用内存大小的分析

phpmianshi5年前 (2017-04-06)php639
1.数组正常的赋值是不会发生内存改变的,但是当赋值的新数组发生改动的时候,php就会新开辟内存给新的数组,这里会造成无谓的内存消耗。最好是不要直接这样赋值,如果非赋值不可的话,记得加上‘&’符...

结构体对齐

phpmianshi5年前 (2017-04-06)php958
书里给了一段代码,假如有个结构体如下:struct test {    char a;    int b;    long c; ...

PHP对象使用数组形式访问成员变量

phpmianshi6年前 (2016-04-06)php687
PHP中有很多接口类,不过平时都不会怎么用到.一般访问php类的变量都是使用类->变量名进行访问.除了这样还可以实现接口类用数组方式进行访问类["变量名"]需要实现的是Arr...

PHP中max_execution_time设置不生效

phpmianshi7年前 (2015-04-11)php897
问题描述:max_execution_time设置了1秒,但是发现超过3秒的脚本还是跑。于是深入研究下max_execution_time不生效的原因。官网描述:https://www.php.net...

Laravel神奇的服务容器

phpmianshi7年前 (2015-04-10)php838
IoC 容器, laravel 的核心Laravel 的核心就是一个 IoC 容器,根据文档,称其为“服务容器”通过举例来让读者去理解什么是 IoC(控制反转) 和&nb...

php-fpm backlog参数优化

phpmianshi7年前 (2015-04-09)php618
php-fpm backlog参数优化
一、问题分析       1、分析php-fpm.slow.log发现没有执行慢的地方,然后把目光放到了nginx 与php建立连接的阶段上,使用tcpdump...

php-fpm的优雅重启关闭

phpmianshi7年前 (2015-04-08)php444
PHP 5.3.3 下的php-fpm 不再支持 php-fpm 以前具有的 /usr/local/php/sbin/php-fpm (start|stop|reload)等命令,需要使用信号控制:m...

php-fpm进程数优化看这一篇就够了

phpmianshi7年前 (2015-04-07)php1079
php-fpm进程数优化看这一篇就够了
概念CGI:是 Web Server 与 Web Application 之间数据交换的一种协议。CGI(Common Gateway Interface)全称是“通用网关接口”,WEB 服务器与PH...

PHP中 array_walk array_map array_filter区别

phpmianshi7年前 (2015-04-06)php470
array_walk:array_walk — 使用用户自定义函数对数组中的每个元素做回调处理1. 用户自定义的函数处理每一个元素2. 直接修改原数组,不会创建新的数组3. 可以传递额外的参数更多信息...

通过 PHP OPcache 让你的 Laravel 应用运行速度飞起来

phpmianshi7年前 (2015-04-05)php719
Laravel 优化介绍:https://segmentfault.com/a/11900000115690121.缓存配置信息 php artisan config:cache2.缓存路由信息 ph...

PHP中const和static的区别和联系

phpmianshi7年前 (2015-04-04)php1077
1.const是类中的常量,类外用define定义常量2.const只可以修饰类的属性,不能修饰类的方法,static可以修饰属性,也可以修饰方法3.const和static都属于类本身,而不属于ne...

PHP中self与static区别和联系

phpmianshi7年前 (2015-04-03)php844
PHP官方也说过,大概意思是说self调用的就是本身代码片段这个类,static - PHP 5.3加进来的只得是当前这个类,有点像$this的意思,static调用的是从堆内存中提取出来,访问的是当...