Loading... # PHP 的生命周期 > 主要四个过程 > Module init -> Request init -> Request shutdown -> Module shutdown > 在命令模式运行一个 PHP 脚本主要流程是以下 ![](https://gz-blog-storage-1252787757.cos.ap-guangzhou.myqcloud.com/usr/uploads/2024/05/17162845538819.jpg) ## 1) Call each extension 's MINIT ```php /** 这个过程在拓展被载入时调用 **/ PHP_MINIT_FUNCTION(myext) { // 注册常量或者类等初始化操作 return SUCCESS } ``` ## 2) Request test.php ```php /** PHP 会初始化执行脚本的基本环境 包含保存在 PHP 运行过程中变量名称和变量值内容的符号表, 以及当前所有的函数以及类等信息的符号表。 然后 PHP 调用所有模块的 RINIT 函数 **/` PHP_RINNIT_FUNCTION(myext) { //例如记录开始时间 //随后在请求结束的时候记录结束时间 //这样就能记录下请求所花费的时间 return SUCCESS; } ``` ## 3) Execute test.php > 执行 test.php 阶段,主要是把 PHP 文件编译成 Opcodes ,然后在 PHP 虚拟机下执行 ## 4) Call each extension 's RSHUTDOWN > 请求处理完成后进入结束阶段,一般脚本执行到行尾或者通过 exit() 或者 die() 函数,PHP 都将进入结束阶段。同开始阶段一样,结束阶段也有连个环节 > > 1. 请求结束 (RSHUTDOWN) > 2. SAPI 生命周期结束时 (MSHUTDOWN) ```php PHP_RSHUTDOWN_FUNCTION(myext) { //例如记录请求结束时间,并把相应的信息写入到日志文件中 return SUCCESS; } PHP_MSHUTDOWN_FUNCTION(myext) { //注销一些持久化资源 return SUCCESS; } ``` ``` © Reprint prohibited Support Appreciate the author AliPayWeChat Like If you think my article is useful to you, please feel free to appreciate