什麼是zend opcache?
Zend OPcache 透過 opcode 快取和最佳化提供更快的 PHP 執行過程。它將預先編譯的腳本檔案儲存在共享記憶體中以供以後使用,從而避免了從磁碟讀取程式碼並進行編譯的時間消耗。同時,它也應用了一些程式碼最佳化模式,使得程式碼執行更快。
當解釋器完成對腳本程式碼的分析後,便將它們產生可以直接執行的中間程式碼,也稱為操作碼(Operate Code,opcode)。 Opcode cache 的目地是避免重複編譯,減少 CPU 和記憶體開銷。如果動態內容的效能瓶頸不在於 CPU 和內存,而在於 I/O 操作,例如資料庫查詢帶來的磁碟 I/O 開銷,那麼 opcode cache 的效能提升是非常有限的。但是既然 opcode cache 能帶來 CPU 和記憶體開銷的降低,這總歸是好事!
現代操作碼快取器(Optimizer ,APC2.0 ,其他)使用共享記憶體進行存儲,並且可以直接從中執行文件,而不用在執行前「反序列化」程式碼。這將帶來顯著的效能加速,通常降低了整體伺服器的記憶體消耗,而且很少有缺點。
開啟opcahe
修改php.ini 搜尋:「[opcache]」
增加以下程式碼(或在原始基礎上改一下):
zend_extension = php_opcache.dll opcache.enable=1 opcache.enable_cli=1 opcache.memory_consumption=128 opcache.max_accelerated_files=2000
幾個重要參數的作用說明:
opcache.enable=1 //开启opcache opcache.enable_cli=1 //是否在CLI(即命令行时)启用opcache opcache.memory_consumption=128 //共享内存的大下 可以根据项目大小和服务器配置自行调整 opcache.max_accelerated_files=2000//最大缓存文件个数
設定好後,重新啟動apache即可。開啟phpinfo觀察變更:
證明 zend opcache 已成功開啟。經過測試效果明顯(因為減少了編譯次數也減少了磁碟io開銷),非常建議大家開啟。
相關推薦:《PHP7教學》
以上是php7 安裝指南(windows)之開啟zend opcache的詳細內容。更多資訊請關注PHP中文網其他相關文章!