php執行流程

weixin_34321977發表於2017-05-16
1270516-2cc054e697a39e3f.png
php執行流程.png

一圖勝千言,此圖詳細描述了PHP執行的5個步驟以及過程中做了哪些事情。

以fpm為例:

1、fpm啟動時,會先執行 module_startup, 並隨著fpm程式常駐

2、當一個請求到達之後,會執行 request_startup, 進行一些請求初始化工作,然後執行程式碼(execute_script), 最後,執行request_shutdown,把結果flush, 並做一些收尾工作

3、當我們關閉fpm或reload fpm的時候,會執行module_shutdown

最後拋幾個問題給大家思考一下:

1、opcache在哪個階段,解決了什麼問題?

2、ini的檔案載入在哪一步?每個請求到達是否都需要解析?

3、當出現fatal error,會有一個register_shutdown_function回撥,這個是在哪一步?執行完這個之後,fpm程式還在麼?

相關文章