PHP是编译还是解释的?
2022-08-30 06:45:36
PHP是编译还是解释的?
双。PHP 被编译为一个中间字节码,然后由运行时引擎解释。
PHP 编译器的工作是解析 PHP 代码并将其转换为适合运行时引擎的形式。其任务包括:
根据您的 PHP 设置,此步骤通常只完成一次,即第一次调用脚本时。缓存编译器输出以加快后续使用的访问速度。但是,如果修改了脚本,则编译步骤将再次完成。
调用脚本时,运行时引擎遍历 AST 和字节码。符号表用于存储变量的值并提供函数的字节码地址。
这种编译为字节码并在运行时解释它的过程对于在某种虚拟运行时机器上运行的语言是典型的,包括Perl,Java,Ruby,Smalltalk等。