模組初始化
// 程式碼路徑mian/mian.c
php_module_startup
- 啟用SAPI,主要是對SG巨集進行初始化,包括返回碼、返回頭、請求體、cookie等
- 初始化垃圾回收,呼叫gc_globals_ctor_ex函式對gc進行初始化和重置
- 初始化Zend引擎
- 啟動記憶體管理器(start_memory_manager)
- 設定編譯檔案(zend_complie_file)和執行檔案(zend_execute_file)函式控制程式碼
- 初始化opcode執行控制程式碼(zend_init_opcodes_handlers)
- 初始化(函式符號表)GLOBAL_FUNCTION_TABLE、(類符號表)GLOBAL_CLASS_TABLE、(超全域性符號表)GLOBAL_AUTO_GLOBALS_TABLE、(常量符號表)GLOBAL_CONSTANTS_TABLE
- 初始化$GLOBALS超全域性變數函式控制程式碼
- 解析配置檔案
- 註冊超全域性變數($_POST、$_GET、$_COOKIE、$_SERVER、$_ENV、$_REQUEST、$_FILES)
- 註冊靜態擴充套件
- 註冊INI中配置的動態載入的擴充套件
- 呼叫各PHP擴充套件中的PHP_MINIT()
- 呼叫個ZEND擴充套件的startup函式
SG sapi
OG 輸出
PG 核心
AG 記憶體管理
CG 編譯
EG 執行
BG 基礎
本作品採用《CC 協議》,轉載必須註明作者和本文連結