PHP是编译还是解释的?

php
2022-08-30 06:45:36

PHP是编译还是解释的?


答案 1

PHP是一种解释型语言。允许您解释PHP的二进制文件是编译的,但是您编写的内容是解释的。

您可以在维基百科页面上看到更多解释性语言


答案 2

双。PHP 被编译为一个中间字节码,然后由运行时引擎解释。

PHP 编译器的工作是解析 PHP 代码并将其转换为适合运行时引擎的形式。其任务包括:

  • 忽略注释
  • 解析变量、函数名称等并创建符号表
  • 构造程序的抽象语法树
  • 写入字节码

根据您的 PHP 设置,此步骤通常只完成一次,即第一次调用脚本时。缓存编译器输出以加快后续使用的访问速度。但是,如果修改了脚本,则编译步骤将再次完成。

调用脚本时,运行时引擎遍历 AST 和字节码。符号表用于存储变量的值并提供函数的字节码地址。

这种编译为字节码并在运行时解释它的过程对于在某种虚拟运行时机器上运行的语言是典型的,包括Perl,Java,Ruby,Smalltalk等。


推荐