簡介
Opcache 的前生是 Optimizer+ ,它是 Zend 開發的 PHP 優化加速組件,Optimizer+ 將 PHP 代碼預編譯生成的腳本檔案 Opcode 快取在共享記憶體中供以后反復使用,從而避免了從磁盤讀取代碼再次編譯的時間消耗,同時,它還應用了一些代碼優化模式,使得代碼執行更快,從而加速 PHP 的執行,
正常的執行流程如下:

開啟 Opcache 后的執行流程如下:

Yum 安裝
php -v
yum list *opcache*
yum -y install rh-php71-php-opcache.x86_64
kill -USR2 cat `/usr/local/php/var/run/php-fpm.pid`
nginx -s reload
配置
zend_extension=opcache.so
[opcache]
;開啟opcache功能
opcache.enable=1
;CLI環境下,開啟opcache功能
opcache.enable_cli=1
;OPcache共享記憶體的大小,單位MB
opcache.memory_consumption=128
;字串在行程間駐留科使用的記憶體大小,單位MB
opcache.interned_strings_buffer=8
;記憶體中可以快取的檔案量,200-1000000之間
;可以使用“find . -type f -print | grep php | wc -l”統計檔案數
opcache.max_accelerated_files=4000
;快取的過期時間,單位秒
opcache.revalidate_freq=60
;開啟快速回應機制來呼叫代碼中的析構器,PHP 7.2.0 開始移除
opcache.fast_shutdown=1
;開啟檔案更新檢查,到達 revalidate_freq 時間之后會檢查檔案變更并更新快取,設為0則永不檢查
opcache.validate_timestamps=1
;開啟快取二進制匯出檔案到外部檔案,位置為傳入的值
opcache.file_cache=/tmp
查看是否安裝成功
php -m
或
<?php phpinfo(); ?>
常用函式
// 重置所有的opcache快取,FPM模式下生成的快取,在CLI下不能RESET,
var_dump(opcache_reset()); //bool(true)
參考:
https://www.php.net/manual/zh/opcache.configuration.php
https://www.zybuluo.com/phper/note/1016714
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/55097.html
標籤:PHP
