php
的整個生命週期可以大致分為五個步驟:
其中step1
和step5
不是每種模式下都要重複執行的。在cli
模式下,指令碼執行會完整經歷5
個步驟。而在fast-cgi
模式下,step1
只在啟動時執行,每個請求處理時只經歷step2
、step3
、step4
,在最終sapi
關閉時會經歷step5
。
step1
:模組初始化階段(minit
)。這個階段主要是模組的初始化,具體包括php
框架,zend
引擎的初始化。
step2
:請求初始化階段(rinit
)。這是乙個每種請求(且每次請求)都會經歷的過程。它的入口是php_request_startup()
。
step3
:請求執行階段。入口是php_execute_script()
。
step4
:請求關閉階段(rshutdown
)。呼叫的函式是php_request_shutdown()
。
step5:模組關閉階段(mshutdown
)。呼叫的是php_module_shutdown()
。
unregister_ini_entries()
(實際呼叫zend_unregister_ini_entries()
):銷毀儲存zend ini資料的hasttable
php_shutdown_config()
:close down the ini config
非zts
下:
if (core_globals->last_error_message)
if (core_globals->last_error_file)
if (core_globals->disable_functions)
if (core_globals->disable_classes)
if (core_globals->php_binary)
PHP7的生命週期
cgi即通用閘道器介面 common gatewag inte ce 它是一段程式,通俗的講cgi就象是一座橋,把網頁和web伺服器中的執行程式連線起來,它把html接收的指令傳遞給伺服器的執 行程式,再把伺服器執行程式的結果返還給html頁。cgi 的跨平台效能極佳,幾乎可以在任何作業系統上實現。...
PHP7 學習筆記(十二)gRPC
github 環境 linux php7 1 安裝grpc pecl install grpc編譯成功提示資訊 build process completed successfully installing usr local php 7.1.8 lib php extensions no debu...
php7程式設計實戰學習筆記(一)
1.注意使用命名空間和自動載入 class loader return false public static function autoload class if success return success public static function adddirs dirs else pub...