PHP Cycle Life
运行流程解析
目录
php 运行阶段
- 开始阶段 - 模块初始化 MINIT (module init) 这个阶段,将对每个扩展的PHP_MINIT_FUNCTION函数执行。一般执行如下操作: - INI 配置文件的注册 REGISTER_INI_ENTRIES
- 定义该扩展实现的类, Interface等
- 定义的const变量
 
- 模块激活 RINIT (Request init) 
 每个请求进入时,将调用每个扩展的PHP_RINIT_FUNCTION。一般有如下需求会调用该方法:- 重置之前的请求, 例如 spl 扩展。
- 通过请求数据,初始化模块的参数。 例如 mbstring 扩展。
 
 
- 运行阶段 - 进入PHP文件执行
 
- 结束阶段 - 停用模块 RSHUTDOWN ( Request shutdown) 与 RINIT 相对应
- 关闭模块 MSHUTDOWN (module shutdown)
 与 MINIT 相对应
 
不同的PHP运行环境,PHP的生命周期不同
php 命令行模式

php Multi Process 模式

PHP Multi Threaded 模式

其他一些函数
- PHP_GINIT_FUNCTION 全局变量初始化
- PHP_GSHUTDOWN_FUNCTION
- PHP_MINFO_FUNCTION 设置INI 文件中模块的信息, phpinfo 时打印的数据
- CG Complier Global
- EG Executor Global
- PG PHP Core Global
- SG SAPI Global
