跳到主內容

PHP Opcache 優化加速模組

BUBU 因為公司網頁及同事的網頁都是使用 WordPress 服務架設網站,剛好公司網站這幾天上線發現到連結網頁反應不是很好有一點會停頓,因此剛好同事有想到 PHP 有一個優化加速模組剛好是 Opcache 模組,這幾天同事的網頁移轉到 BUBU的服務主機上運行,有安裝此套件但是沒有去修改參考完全都是預設狀況,開始尋找此套件的怎麼使用參數做優化,參考近期網路上比較常看到的參數來做使用,如果想要使用請參考以下內文感謝。

 

檢查是否有安裝該套件


如果還尚未安裝此套件的話請先安裝,本工作室是採用 PHP 7.3 版本,系統環境是 CentOS7,如果您已經有安裝過可以直接跳離此安裝

yum install -y php-opcache

 

「 php.ini 」新增設定


[opcache]
# 啟動操作碼快取
opcache.enable=1
#針對支援CLI版本PHP啟動操作碼快取 一般被用來測試和除錯
opcache.enable_cli=1
# 共享記憶體大小,單位為MB
opcache.memory_consumption=128
#儲存臨時字串快取大小,單位為MB,PHP5.3.0以前會忽略此項配置
opcache.interned_strings_buffer=60
#快取檔案數最大限制,命中率不到100%,可以試著提高這個值
opcache.max_accelerated_files=40000
#一定時間內檢查檔案的修改時間, 這裡設定檢查的時間週期, 預設為 2, 單位為秒
opcache.revalidate_freq=60
#開啟快速停止續發事件,依賴於Zend引擎的記憶體管理模組,一次釋放全部請求變數的記憶體,而不是依次釋放記憶體塊
opcache.fast_shutdown=1
#啟用檢查 PHP 指令碼存在性和可讀性的功能,無論檔案是否已經被快取,都會檢查操作碼快取,可以提升效能。 但是如果禁
用了 opcache.validate_timestamps 選項, 可能存在返回過時資料的風險。
opcache.enable_file_override=1
#載入此模組
zend_extension=opcache.so
#指定暫存檔的存放路徑,這可以自行設定 (可以考慮將此設定給註解掉不要使用,註解掉會暫存到記憶體裡面) 
#opcache.file_cache=/home/opcache
#啟用 Hugepage 服務
opcache.huge_code_pages=1
#指定該時間,在多少時間內緩存會失效
opcache.force_restart_timeout=180000

設定好要重啟 php-pfm 服務
systemctl restart php-pfm

由於剛剛有指向暫存的目錄,這個要自行建立就可以,該目錄的權限只能有 WEB 服務可以存取使用。

安全漏洞


opcache.file_cache_only=0
opcache.validate_timestamp=1
謹慎審查網站的代碼,並檢查網站中是否存在文件上傳漏洞
這三點盡量注意,就可以避免一定的安全問題

 

參考相關網頁: