PHP Life Cycle

PHP Life Cyclesegmentfault

PHP 生命周期,一切从 SAPI 开始。多线程

PHP函数

  • 内核:处理请求、文件流、错误处理等相关操做。spa

  • Zend引擎:将源文件转换成机器语言,而后在虚拟机上运行它。线程

  • 扩展层:一组函数、类库和流。code

单进程SAPI生命周期生命周期

一个 PHP 进程,在其生命周期内,经历了数个阶段。进程

MINIT:每一个模块都依次执行模块初始化。涉及全局变量,常量,INI文件,类。
RINIT:当进程开始处理 PHP 请求时,每一个模块依次执行请求初始化。涉及请求变量、环境变量。
Zend Engine:编译,执行。
RSHUTDOWN:当请求处理完毕,每一个模块依次执行请求终止。
Zend Engine:垃圾收集 - 变量释放。
MSHUTDOWN:当 PHP 进程关闭时,与其关联的模块将依次从内存中销毁,即模块关闭。图片

单进程SAPI生命周期

多线程SAPI生命周期内存

多线程的 SAPI 生命周期,MINITMSHUTDOWN 在进程的存活期内,只须要执行一次。

多线程SAPI生命周期

Apache的生命周期

请输入图片描述

Apache的请求处理流程

Apache的请求处理流程

相关文章
相关标签/搜索