欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

PHP架构

程序员文章站 2022-05-02 21:21:11
...

本文收集/翻译了关于PHP架构、内核函数及运行原理方面的链接, PHP内核代码运行过程 激活和运行PHP解释器有几个关键步骤: 当一个应用程序想启动一个PHP解释器,首先调用php_module_startup。 这个函数是解释器的主开关。 它激活注册过的SAPI,初始化输出缓

本文收集/翻译了关于PHP架构、内核函数及运行原理方面的链接,


PHP内核代码运行过程

激活和运行PHP解释器有几个关键步骤:

当一个应用程序想启动一个PHP解释器,首先调用php_module_startup。

这个函数是解释器的主开关。

它激活注册过的SAPI,初始化输出缓存系统,启动Zend引擎,

读入php.ini文件,启用配置,准备好处理第一次请求。

核心模块使用到的一些重要函数有:

* php_module_startup - PHP主入口函数.

* php_startup_extensions - 运行所有已注册的扩展的初始化函数.

* php_output_startup - 启动输出系统.

* php_request_startup - 是请求开始阶段的主函数,每次请求,SAPI函数会向下调用该函数,然后该函数再向下调用Zend引擎来进行初始化,以及调用所有已注册模块的请求启动函数.

* php_output_activate - 激活输出系统,来使用SAPI相关的输出函数.

* php_init_config - 读取php.ini文件并启用配置

* php_request_shutdown - 主要负责销毁每个请求所占用的资源.

* php_end_ob_buffers - 用来刷新输出缓存,如果输出缓存被启用了的话.

* php_module_shutdown - 这个是PHP的主关闭函数,触发解释器所有其余的关闭(shutdown)函数.


上述中的SAPI是PHP提供给web服务器及其他应用的开放接口,可参考:

http://en.wikipedia.org/wiki/Server_Application_Programming_Interface

http://blog.areawebsolutions.com/php-architecture-the-php-core.html/comment-page-1


PHP架构图:

PHP架构



by iefreer