OPcache 通過將 PHP 腳本預編譯的位元組碼存儲到共享記憶體中來提升 PHP 的性能, 存儲預編譯位元組碼的好處就是 省去了每次載入和解析 PHP 腳本的開銷。
PHP 5.5.0 及後續版本中已經綁定了 OPcache 擴展。 對於 PHP 5.2,5.3 和 5.4 版本可以使用 PECL 擴展中的 OPcache 庫。
安裝配置
需求
構建此擴展不需要其他擴展
安裝
安裝 OPcache 的過程根據所用的 PHP 版本有所不同。
Note:
如果需要將Xdebug擴展和 OPcache 一起使用,必須在 Xdebug 擴展之前載入 OPcache 擴展。
PHP 5.5.0 及後續版本
OPcache 只能編譯為共享擴展。 如果你使用--disable-all參數 禁用了默認擴展的構建, 那么必須使用--enable-opcache選項來開啟 OPcache。
編譯之後,就可以使用zend_extension指令來將 OPcache 擴展載入到 PHP 中。在非 Windows 平台使用zend_extension=/full/path/to/opcache.so, Windows 平台使用zend_extension=C:\path\to\php_opcache.dll。
PHP 5.2, 5.3 和 5.4 版本
此PECL擴展未與 PHP 捆綁。
推薦的 php.ini 設定
使用下列推薦設定來獲得較好的 性能:
opcache.memory_consumption=128 opcache.interned_strings_buffer=8 opcache.max_accelerated_files=4000 opcache.revalidate_freq=60 opcache.fast_shutdown=1opcache.enable_cli=1
你也可以禁用opcache.save_comments並且啟用opcache.enable_file_override。 需要提醒的是,在生產環境中使用上述配置之前,必須經過嚴格測試。 因為上述配置存在一個已知問題,它會引發一些框架和套用的異常, 尤其是在存在文檔使用了備註註解的時候。
這裡是 OPcache 可用的配置指令完整列表。