This question already has an answer here:
In PHP, what is meant by compile-time and run-time? [duplicate]

(1个答案)


已关闭6年。




我经常听到这两个词,并一直在思考



我尝试阅读一些文章,但没有帮助。

有人知道一个简单的解释吗?它们彼此之间有何不同?

最佳答案

PHP在运行文件时会两次通过(默认情况下)。

传递#1解析文件并构建所谓的操作(或机器)代码。这是您的计算机将实际运行的原始二进制格式,并且不可读。在其他语言(如C++等)中,这称为编译。您可以使用各种系统(例如Opcache)来缓存此步骤,从而节省了每次编译该代码的开销。

语法错误来自执行的这一部分。

channel 2执行 channel 1的操作代码。这就是通常所说的“运行时”,因为您的计算机实际上正在执行指令。

运行时错误(例如,耗尽内存,异常终止等)来自此级别。但是,这些错误比语法错误少得多。

09-17 14:01