php7 使用opcache把編譯後的php文件存儲爲文件,實現php源碼保護和腳本加速

工做原理: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目錄下的機器碼了。

 

緩存機器碼樣式

相關文章
相關標籤/搜索