每一次執行 PHP 腳本的時候,該腳本都須要被編譯成字節碼,而 OPcache 能夠對該字節碼進行緩存,這樣,下次請求同一個腳本的時候,該腳本就不須要從新編譯,這極大節省了腳本的執行時間,從而讓應用運行速度更快,同時也節省了服務器的開銷。php
Opcache 默認是關閉的。web
php.ini
文件中,找到 [opcache]
[opcache] ; //Appserv默認沒有此項配置,本身添加 zend_extension = "C:/AppServ/php7/ext/php_opcache.dll" ; //1-啓用 0-關閉 opcache.enable=1 ; //這個配置表示你想要分配給 OPcache 的內存空間(單位:MB),設置一個大於 64 的值便可。(默認爲64) opcache.memory_consumption=64 ; //這個配置表示你想要分配給實際字符串的空間(單位:MB),設置一個大於 16 的值便可。(默認爲4) opcache.interned_strings_buffer=16 ; //這個配置表示能夠緩存多少個腳本,將這個值儘量設置爲與項目包含的腳本數接近(或更大)。(默認爲2000) opcache.max_accelerated_files=20000 ; //改配置值用於從新驗證腳本,若是設置爲 0(性能最佳),須要手動在每次 PHP 代碼更改後手動清除 OPcache。 ; //若是你不想要手動清除,能夠將其設置爲 1 並經過 opcache.revalidate_freq 配置從新驗證間隔, ; //這可能會消耗一些性能,由於須要每隔 x 秒檢查更改。 ; //設置爲 0 時,若是修改過 PHP代碼 必須手動重置OPcache或從新啓動 webserver 以使其生效。 opcache.validate_timestamps=0
配置完成後,能夠使用以下代碼查詢opcache:緩存
<?php phpinfo(); ?>
訪問頁面獲得以下界面,則證實開啓成功
服務器