PHP解释器Opcache

时间:2015-11-13 15:23:11

标签: php zend-framework compilation interpreter opcache

我的信息:

PHP是一种使用解释器的编程语言。

解释器是源代码和机器之间的编译软件。

它在运行时读取和分析源代码,并根据源代码启动自己的子程序。

它没有将代码编译或转换为可以保存的新代码,因为它是一种执行代码。

Zend的Opcache能够存储预编译的字节码并再次使用它。 (我知道它一般如何运作。)

http://www.sitepoint.com/understanding-opcache/

我的问题:

当解释器没有编译时,Opcache从哪里获取预编译的脚本?

1 个答案:

答案 0 :(得分:0)

  

它没有将代码编译或转换为可以保存的新代码,因为它是一种执行代码。

那是不对的。解释器所做的第一件事就是将PHP源代码编译成可执行的字节码格式,然后执行该格式。

它与.NET和Java没有什么不同,只是它们提前先发制人,而PHP则在脚本执行时按需执行。

像OPcache这样的东西采用这个字节码并缓存它,保存解释器不必每次执行脚本时都获取源代码并解析它。