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