国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > 互联网 > 一张游览PHP内核迷宫的藏宝图

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

来源:程序员人生   发布时间:2014-11-12 08:49:00 阅读次数:2569次

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

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

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

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生