php lifecycle 3 - yaokun123/php-wiki GitHub Wiki
执行脚本阶段
函数 | 说明 |
---|---|
compile_file() | - |
open_file_for_scanning() | 读取PHP代码内容 |
zend_parse() | 词法语法分析生成AST |
init_op_array() | 初始化op_array |
zend_compile_top_stmt() | 将AST转换为op_array |
pass_two() | 设置op_array中对应zend虚拟机的handler |
zend_execute() | 执行op_array |
执行阶段的入口是php_execute_script函数,该函数又调用了zend_execute_scripts函数,看了这段代码的同学可能会找不到上图表中所提到的compile_file()函数,其实它在模块初始化阶段就已经将compile_file赋值给了zend_compile_file。