码迷,mamicode.com
首页 > Web开发 > 详细

一张游览PHP内核迷宫的藏宝图

时间:2014-10-30 15:25:14      阅读:264      评论:0      收藏:0      [点我收藏+]

标签:php   php内核   zend 引擎   

PHP内核就像一个迷宫,如果没有一个纵览全局的图,只是面对其中的一个点,就会像进了迷宫一样,走着走着就走到了死胡同。在这个迷宫里转悠了很久之后,最近得到了一张PHP藏宝图,然后看着这张图去游览PHP内核,顿时觉得这个景区的面貌清晰了许多。废话不说了,上图:

这张图包括两部分,分别对应PHP的启动过程,和PHP处理每个请求的过程。PHP的启动过程是一系列的初始化操作,建立处理请求时使用的各种全局变量:

Apache启动 

 => sapi_startup

 => php_module_startup (PHP的主开关)

 => php_output_startup

 => zend_startup (启动Zend引擎)

 => register_ini_entries

 => php_ini_stream_wrappers

 => php_ini_register_extensions (启动动态加载的扩展)

 => zend_startup_modules 

 => zend_startup_extensions


下面是处理每个请求时的流程:

php_handler

 => php_apche_request_ctor

 => zend_activate

 => zend_execute_scripts

 => zend_compile (语法分析、语义分析、生成oparray)

 => zend_execute (执行opcode)

 => zend_deactivate


进程退出时关掉zend、php:

sapi_shutdown

=> zend_shutdown

一张游览PHP内核迷宫的藏宝图

标签:php   php内核   zend 引擎   

原文地址:http://blog.csdn.net/topasstem8/article/details/40618769

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!