ホームページ  >  記事  >  php教程  >  PHP架构

PHP架构

WBOY
WBOYオリジナル
2016-06-06 19:50:591044ブラウズ

本文收集/翻译了关于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

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。