工做原理:php
備註:linux
opcache.file_cache緩存爲本地文件僅php7之後支持。php5未支持該配置,僅可用戶腳本加速。windows
1、安裝opcache.緩存
windows擴展下載地址 https://windows.php.net/downloads/pecl/releases/opcache/php7
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網站
2、配置opcache.net
配置參考: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=Ondebug
;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
3、配置完成後。
可經過運行腳本或 opcache_compile_file() 函數將php編譯後的機器碼保存在opcache.file_cache目錄下。就能夠加速腳本了
如需保護php源碼則可在緩存機器碼後將網站目錄PHP腳本內容變動爲任意內容(不可刪除文件),運行的也是保存在opcache_cache目錄下的機器碼了。
緩存機器碼樣式