PHP 開啓 Opcache 功能提高程序處理效率

簡介

Opcache 的前生是Optimizer+,它是 Zend 開發的 PHP 優化加速組件。Optimizer+ 將 PHP 代碼預編譯生成的腳本文件Opcode緩存在共享內存中供之後反覆使用,從而避免了從磁盤讀取代碼再次編譯的時間消耗。同時,它還應用了一些代碼優化模式,使得代碼執行更快。從而加速 PHP 的執行。php

正常的執行流程以下:nginx

img

開啓 Opcache 後的執行流程以下:緩存

img

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)
相關文章
相關標籤/搜索