PHP Life Cycle

数字寻梦
• 阅读 4194

PHP Life Cycle

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

PHP

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

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

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

单进程SAPI生命周期

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

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

PHP Life Cycle

多线程SAPI生命周期

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

PHP Life Cycle

Apache的生命周期

PHP Life Cycle

Apache的请求处理流程

PHP Life Cycle

点赞
收藏
评论区
推荐文章
虾米大王 虾米大王
2年前
java代码099
code099.jspInserttitlehere$pageScope.user.name
虾米大王 虾米大王
2年前
java代码073
code073.javapackagepack02;importjava.io.IOException;importjava.io.PrintWriter;importjava.util.UUID;importjavax.servlet.ServletException;importjavax.servlet.annotation.Multip
虾米大王 虾米大王
2年前
java代码036
code036.jsp错误处理页错误提示:
虾米大王 虾米大王
2年前
java代码016
code016.jsp错误处理页
Wesley13 Wesley13
3年前
JAVA_将二进制流转换成图片文件
_1. __\代码\_将二进制流转换成图片文件晚风工作室www.soservers.com    _跳至\1\(http://www.oschina.net/code/snippet_931591_1760429253)\全屏预览\(http://www.oschina.net/code/piece_full?code17
Wesley13 Wesley13
3年前
VSCode配置FiraCode和更纱黑体字体
!(https://oscimg.oschina.net/oscnet/c7bb62d935ceb01d3b7fe176322e84ae00d.png)Fira Code下载到FiraCode字体的GitHub(https://www.oschina.net/action/GoToLink?urlhttps%
Wesley13 Wesley13
3年前
PHP创建多级树型结构
<!lang:php<?php$areaarray(array('id'1,'pid'0,'name''中国'),array('id'5,'pid'0,'name''美国'),array('id'2,'pid'1,'name''吉林'),array('id'4,'pid'2,'n
Stella981 Stella981
3年前
QeePHP中的访问控制配置
(1)\_code/myapp.php文件中: /      访问被拒绝时的错误处理函数     /    protected function _on_access_denied()    {        $message  "";        require(_MYAP
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
飞鹅官方账号 飞鹅官方账号
9个月前
五、飞鹅官网API接口文档
接口列表1.获取网站信息请求方法:GET请求URL:/api/site/getSiteInfo请求参数无返回结果json"code":1,"data":"id":1,//id"title":"SampleSiteName",//网站名称"intro":"T
美凌格栋栋酱 美凌格栋栋酱
4个月前
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
数字寻梦
数字寻梦
Lv1
日日望乡国,空歌白苎词。
文章
4
粉丝
0
获赞
0