2015-11-13 93 views
1

我的信息:PHP解釋器Opcache

PHP是使用一個解釋編程語言。

解釋器是源代碼和機器之間的編譯軟件。

它讀取和運行時分析的源代碼,並開始基於源代碼自身的子程序。

它不是編譯或代碼翻譯成新的東西可能被保存,因爲它是一種執行的代碼。

的Opcache被Zend能夠存儲預編譯的字節碼,並再次使用它。 (我知道是怎麼回事通常工作。)

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

我的問題:

在什麼地方Opcache從翻譯時不編譯得到他的預編譯腳本?

回答

0

它沒有將代碼編譯或翻譯成可以保存的新東西,因爲它是一種執行代碼。

這是不正確的。解釋器做的第一件事是PHP源代碼編譯成可執行的字節碼格式,然後被執行。

這不是什麼不同.NET和Java這樣做,但他們做的先發制人的時間提前,而PHP做它的按需爲執行該腳本。

像OPcache這樣的東西需要這個字節碼和緩存,保存解釋器不必每次執行腳本時獲取源代碼和解析它。