php内核就像一个迷宫,如果没有一个纵览全局的图,只是面对其中的一个点,就会像进了迷宫一样,走着走着就走到了死胡同。在这个迷宫里转悠了很久之后,最近得到了一张php藏宝图,然后看着这张图去游览php内核,顿时觉得这个景区的面貌清晰了许多。废话不说了,上图:
这张图包括两部分,分别对应PHP的启动过程,和PHP处理每个请求的过程。PHP的启动过程是一系列的初始化操作,建立处理请求时使用的各种全局变量:
Apache启动
=> sapi_startup
=> php_module_startup (PHP的主开关)
立即学习“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在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号