首先主機環境是從lnmp.org下載到的一鍵安裝包而已。下載到手之後,選擇的php版本爲7.0,那麽問題來了, 敲以下命令查看php版本的時候會看到opcache有沒有在運行:
/usr/local/php/bin/php -v
發現php-fpm運行時沒有夾帶opcache, 既然沒有啓用opcache, 如何讓它跑起來呢? 解決方法如下:
vim /usr/local/php/etc/php.ini
這樣, 用編輯器打開php.ini配置文档之後, 搜索opcache關鍵字, 找到如下配置段
;開關 0 改1 opcache.enable=0 ; Determines if Zend OPCache is enabled for the CLI version of PHP ; 也就是說, 用cli命令行模式運行php腳本要不要用到opcache, 這裡看你自己公司業務情況 opcache.enable_cli=1 ; 設置共享内存大小, 單位兆字節, 根據你主機現有的内存大小來改 Mbopcache.memory_consumption=64 ;如果啓用,那麽 OPcache 會每隔 opcache.revalidate_freq 也就是下邊這一選項設定的秒數檢查腳本是否更新。 ;如果禁用此選項,須用 opcache_reset() 或者 opcache_invalidate() 函數來手動重置 OPcache,也可以 通過重啓 Web 服務器來使文档系統更改生效。 opcache.validate_timestamps=1 ; 考慮配置成60秒 opcache.revalidate_freq=60
注意: 最後還要在文档結尾加一句:
zend_extension="opcache.so"
下邊留一行空行, :eq保存OK! 重啓php-fpm
service php-fpm restart
搞定。注意,如果你馬虎寫成了extension="opcache.so"那麽會報錯。
後記
如果你是swoole, 我建議你還是別用opcache了。swoole已經足夠快, 啓用opcache沒什麽卵用。