>首页> IT >

今日热讯:2022最新浅析PHP特性、内核及架构

时间:2022-08-07 16:06:02       来源:转载


(资料图片仅供参考)

PHP8的特性?

PHP7的新特性?(与PHP5区别)

为什么php7比php5性能提升了?

PHP7执行流程?

web模式下,PHP 生命周期?

SAPI运行PHP都经过下面几个阶段:

1、模块初始化阶段(module init):

这个阶段主要进行php框架、zend引擎的初始化操作。这个阶段一般是在SAPI启动时执行一次,对于FPM而言,就是在fpm的master进行启动时执行的。php加载每个扩展的代码并调用其模块初始化例程(MINIT),进行一些模块所需变量的申请,内存分配等。

2、请求初始化阶段(request init):

当一个页面请求发生时,在请求处理前都会经历的一个阶段。对于fpm而言,是在worker进程accept一个请求并读取、解析完请求数据后的一个阶段。在这个阶段内,SAPI层将控制权交给PHP层,PHP初始化本次请求执行脚本所需的环境变量。

3、php脚本执行阶段:

php代码解析执行的过程。Zend引擎接管控制权,将php脚本代码编译成opcodes并顺次执行

4、请求结束阶段(request shutdown):

请求处理完后就进入了结束阶段,PHP就会启动清理程序。这个阶段,将flush输出内容、发送http响应内容等,然后它会按顺序调用各个模块的RSHUTDOWN方法。 RSHUTDOWN用以清除程序运行时产生的符号表,也就是对每个变量调用unset函数。

5、模块关闭阶段(module shutdown):

该阶段在SAPI关闭时执行,与模块初始化阶段对应,这个阶段主要是进行资源的清理、php各模块的关闭操作,同时,将回调各扩展的module shutdown钩子函数。这是发生在所有请求都已经结束之后,例如关闭fpm的操作。(这个是对于CGI和CLI等SAPI,没有“下一个请求”,所以SAPI立刻开始关闭。)

php7架构有什么?

php数据的实现?

PHP 的垃圾回收机制?

PHP-FPM 是什么架构模式的?你怎么优化过它?

本文系转载,原文地址:https://learnku.com/articles/70434

以上就是2022最新浅析PHP特性、内核及架构的详细内容,更多请关注php中文网其它相关文章!

关键词: 请求处理 结束阶段 相关文章