1. 程式人生 > >PHP執行原理

PHP執行原理

PHP生命週期
1、模組初始化(php_module_startup())
2、請求初始化(php_request_startup())
3、執行指令碼(php_execute_script())
4、請求關閉(php_request_shutdown())
5、模組關閉(php_module_shutdown())
cli模式下,每次執行指令碼都會經歷上面5個階段。FastCGI模式下,會在php-fpm的worker程序啟動時執行第1步模組初始化,然後會一直執行3、4、5這幾個階段,直到worker程序關閉時執行第5步,模組關閉。

sapi是PHP的入口層,是進入PHP核心的入口。

nginx:啟動一個主程序master,master程序再建立n個(一般根據cpu個數確定)worker程序。master程序只是用來管理worker程序,worker程序用來接收和處理請求。
php-fpm:也是啟動一個主程序,主程序再管理子程序(worker)。通常我們可以配置多個程序池,每個程序池監聽不同的介面,統一由master程序管理。