Pi*R^2

PHP cycle life

运行流程解析

字数统计: 251阅读时长: 1 min
2018/06/06 Share

php 运行阶段

  • 开始阶段

    • 模块初始化 MINIT (module init)
      这个阶段,将对每个扩展的PHP_MINIT_FUNCTION函数执行。一般执行如下操作:

      1. INI 配置文件的注册 REGISTER_INI_ENTRIES
      2. 定义该扩展实现的类, Interface等
      3. 定义的const变量
    • 模块激活 RINIT (Request init)
      每个请求进入时,将调用每个扩展的PHP_RINIT_FUNCTION。一般有如下需求会调用该方法:

      1. 重置之前的请求, 例如 spl 扩展。
      2. 通过请求数据,初始化模块的参数。 例如 mbstring 扩展。
  • 运行阶段

    • 进入PHP文件执行
  • 结束阶段

    • 停用模块 RSHUTDOWN ( Request shutdown)
      与 RINIT 相对应
    • 关闭模块 MSHUTDOWN (module shutdown)
      与 MINIT 相对应

不同的PHP运行环境,PHP的生命周期不同

php 命令行模式

php Multi Process 模式

multi Process

PHP Multi Threaded 模式

multi Threaded

其他一些函数

  1. PHP_GINIT_FUNCTION 全局变量初始化
  2. PHP_GSHUTDOWN_FUNCTION
  3. PHP_MINFO_FUNCTION 设置INI 文件中模块的信息, phpinfo 时打印的数据
  4. CG Complier Global
  5. EG Executor Global
  6. PG PHP Core Global
  7. SG SAPI Global

原文作者:lpflpf

原文链接:http://blog.lpflpf.cn/passages/php-cycle-life/

发表日期:2018-06-06 00:00:00

更新日期:2019-09-17 10:04:54

版权声明:本文采用知识共享署名-非商业性使用 4.0 国际许可协议进行许可

CATALOG
  1. 1. php 运行阶段
  • 不同的PHP运行环境,PHP的生命周期不同
    1. 1. php 命令行模式
    2. 2. php Multi Process 模式
    3. 3. PHP Multi Threaded 模式
    4. 4. 其他一些函数