一图胜千言,此图详细描述了PHP执行的5个步骤以及过程中做了哪些事情。
以fpm为例:
1、fpm启动时,会先执行 module_startup, 并随着fpm进程常驻
2、当一个请求到达之后,会执行 request_startup, 进行一些请求初始化工作,然后执行代码(execute_script), 最后,执行request_shutdown,把结果flush, 并做一些收尾工作
3、当我们关闭fpm或reload fpm的时候,会执行module_shutdown
最后抛几个问题给大家思考一下:
1、opcache在哪个阶段,解决了什么问题?
2、ini的文件加载在哪一步?每个请求到达是否都需要解析?
3、当出现fatal error,会有一个register_shutdown_function回调,这个是在哪一步?执行完这个之后,fpm进程还在么?
--------------伟大的分割线----------------
PHP饭米粒(phpfamily) 由一群靠谱的人建立,愿为PHPer带来一些值得细细品味的精神食粮!
饭米粒只发原创或授权发表的文章,不转载网上的文章
所发的文章,均可找到原作者进行沟通。
也希望各位多多打赏(算作稿费给文章作者),更希望大家多多投搞。
投稿请联系:
shenzhe163@gmail.com
本文由 秦朋 向 饭米粒投稿,转载请注明本来源信息和以下的二维码(长按可识别二维码关注)