Optimizer+ 將PHP代碼預編譯生成的腳本文件 Opcode 緩存在共享內存中供以後反複使用,從而避免了從磁盤讀取代碼再次編譯的時間消耗。
同時,它還應用了一些代碼優化模式,使得代碼執行更快。從而加速PHP的執行。
安裝 opcache:
# yum install epel-release
# yum install php-opcache
下述設定可以參考看看,請再依照自己的環境修改:
# vi /etc/php.d/10-opcache.ini
QUOTE:
zend_extension=opcache
opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=512
opcache.interned_strings_buffer=64
opcache.max_accelerated_files=32531
opcache.validate_timestamps=0
opcache.save_comments=1
opcache.fast_shutdown=0
重啟服務
# systemctl restart php-fpm.service
# systemctl restart nginx.service
再來安裝 Laravel OPcache
# composer require appstract/laravel-opcache
# php artisan vendor:publish --provider="Appstract\Opcache\OpcacheServiceProvider" --tag="config"
這樣就可以囉~
相關的command:
QUOTE:
Clear OPcache:
# php artisan opcache:clear
Show OPcache config:
# php artisan opcache:config
Show OPcache status:
# php artisan opcache:status
Pre-compile your application code:
# php artisan opcache:optimize
有一點要留意的.就是我們有關閉 opcache.validate_timestamps=0
改配置值用於重新驗證腳本,如果設置為 0(性能最佳),需要手動在每次 PHP 代碼更改後手動清除 OPcache。如果你不想要手動清除,可以將其設置為 1 並通過 opcache.revalidate_freq 配置重新驗證間隔,這可能會消耗一些性能,因為需要每隔 x 秒檢查更改。
所以更新代碼都要注意,先清緩存,再整體執行優化,命令:
# php artisan opcache:clear && php artisan opcache:optimize
參考資料:https://learnku.com/articles/18782