PHP内核资源管理器的执行

PHP内核资源管理器的执行
CLI(命令界面)是PHP的命令行,现在SAPI是默认安装的,我们安装PHP的服务器后,通常会生成一个可执行文件,该文件是 / usr /局部/斌/ PHP,那么我们可以用下面的命令在shell执行PHP脚本
复制代码代码如下所示:

/ usr /局部/斌/ PHP -f test.php
以CLI SAPI为例解析PHP execution.cli核心部分是PHP的命令行模式。这是默认安装的SAPI。在服务器安装了PHP之后,它生成一个可执行文件,并且可以通过调用PHP命令在shell中执行。

复制代码代码如下所示:

PHP - F xx.php
执行过程:

解析命令行参数

初始化环境;

编译和执行PHP代码;

清理环境和出口;

在第三个阶段中,如何执行PHP脚本:

通过调用php_execute_script(handle_file)完成第三阶段的函数最终调用zend_execute_scipts(…),这个函数是一个可变参数函数,可以同时执行多个PHP脚本。
在zend_execut_scripts(......)核心的功能调用两个函数(zend_compile_file)(compile_file),(* zend_execute)(zend_op_array);

通过调用由zend_compile_file编译器参数指定的PHP脚本文件,函数返回一个zend_op_array结构指针;
参数传递是zend_execute的zend_compile_file返回值,和操作码是开始。

这两个功能是Zend API函数指针返回值的具体方法,当引擎初始化。

PS.:所以为什么这两个Zend API函数指针

当引擎初始化,zend_execute和zend_compile_file指向默认的方法初始化引擎之后,我们可以编译和执行的重写函数的方向,我们把钩当我们将发动机。例如,VLD点的zend_execute和zend_compile_file的功能已由原来的函数封装,添加操作码信息输出。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部