cli模式的生命周期
- 初始化模块阶段
调用每个扩展源码中PHP_MINIT_FUNCTION中的方法初始化模块,进行一些模块所需的申请,内存分配
- 初始化请求模块阶段
接受到客户端的请求后调用每个扩展的PHP_RINIT_FUNCTION中的方法,初始化php脚本的执行环境
- 执行php脚本
- 请求结束
调用每个扩展的PHP_RSHUTDOWN_FUNCTION方法清理请求现场,并ze开始回收变量和内存
- 关闭模块
脚本执行完毕退出会调用扩展源码中的PHP_MSHUTDOWN_FUNCTION方法
fpm模式的生命周期
- php_module_startup 加载所有模块
- 进入循环,调用fcgi_accept_request,阻塞等待请求
- php_request_startup 请求初始化
- fpm_request_executing fpm执行请求阶段
- php_execute_script
- fpm_request_end 请求处理完成
- php_request_shutdown 关闭请求模块
- php_module_shutdown 关闭模块