工作原理:
備注:
opcache.file_cache緩存為本地文件僅php7以后支持。php5未支持該配置,僅可用戶腳本加速。
一、安裝opcache.
windows擴展下載地址 https://windows.php.net/downloads/pecl/releases/opcache/
linux:
wget http://pecl.php.net/get/zendopcache-7.0.2.tgz
tarzxvf zendopcache-7.0.2.tgz
cdzendopcache-7.0.2
/usr/local/php/bin/phpize
./configure--with-php-config=/usr/local/php/bin/php-config
make&& make install
二、配置opcache
配置參考:http://php.net/manual/zh/opcache.configuration.php
;opcache
[Zend Opcache]
zend_extension=/www/server/php/72/lib/php/extensions/no-debug-non-zts-20170718/opcache.so
opcache.enable=On
;OPcache 的共享內存大小,以兆字節為單位。
opcache.memory_consumption=128
;用來存儲預留字符串的內存大小,以兆字節為單位。
opcache.interned_strings_buffer=8
;哈希表中可存儲的腳本文件數量上限。設置值取值范圍最小值是 200,最大值在 PHP 5.5.6 之前是 100000,PHP 5.5.6 及之后是 1000000。
opcache.max_accelerated_files=10000
;opcache不保存注釋
opcache.save_comments=0
;關閉PHP文件時間戳驗證
opcache.validate_timestamps=Off
;每60秒驗證php文件時間戳是否更新
;opcache.revalidate_freq=60
opcache.fast_shutdown=1
;注意,PHP7下命令行執行的腳本也會被 opcache.file_cache 緩存.
opcache.enable_cli=
;設置不緩存的黑名單
;opcache.blacklist_filename=/png/php/opcache_blacklist
;設置字節碼保存路徑
opcache.file_cache=/www/server/php/72/lib/php/extensions/opcache_file_cache
;啟用或禁用在共享內存中的 opcode 緩存。
opcache.file_cache_only=0
三、配置完成后。
可通過運行腳本或 opcache_compile_file() 函數將php編譯后的機器碼保存在opcache.file_cache目錄下。就可以加速腳本了
如需保護php源碼則可在緩存機器碼后將網站目錄PHP腳本內容變更為任意內容(不可刪除文件),運行的也是保存在opcache_cache目錄下的機器碼了。
緩存機器碼樣式