本文實例講述了php加速緩存器opcache,apc,xcache,eAccelerator原理與配置方法。分享給大家供大家參考,具體如下:
一、opcache
opcache 通過將 PHP 腳本預編譯的字節(jié)碼存儲到共享內存中來提升 PHP 的性能, 存儲預編譯字節(jié)碼的好處就是 省去了每次加載和解析 PHP 腳本的開銷。
PHP 5.5.0 及后續(xù)版本中已經(jīng)綁定了 opcache 擴展。 對于 PHP 5.2,5.3 和 5.4 版本可以使用PECL擴展中的 opcache 庫。
windows下的php擴展下載地址:
http://windows.php.net/downloads/pecl/releases/
打開php.ini文件,找到[opcache]
; dll地址
extension=php_opcache.dll
; 開關打開
opcache.enable=1
; 開啟CLI
opcache.enable_cli=1
; 可用內存, 酌情而定, 單位為:Mb
opcache.memory_consumption=128
; Zend Optimizer + 暫存池中字符串的占內存總量.(單位:MB)
opcache.interned_strings_buffer=8
; 對多緩存文件限制, 命中率不到 100% 的話, 可以試著提高這個值
opcache.max_accelerated_files=10000
; opcache 會在一定時間內去檢查文件的修改時間, 這里設置檢查的時間周期, 默認為 2, (單位:秒)
opcache.revalidate_freq=1
; 打開快速關閉, 打開這個在PHP Request Shutdown的時候回收內存的速度會提高
opcache.fast_shutdown=1
二、APC
Alternative PHP Cache (APC) 是一個開放自由的PHP opcode 緩存。它的目標是提供一個自由、 開放,和健全的框架用于緩存和優(yōu)化PHP的中間代碼。
下載apc擴展dll,選擇你對應的PHP版本
http://windows.php.net/downloads/pecl/releases/apc/
把下載的php_apc.dll放入php的ext擴展目錄下。
打開php.ini文件,配置如下:
[apc]
extension=php_apc.dll
apc.enabled=1
; 共享內存塊的數(shù)目
apc.shm_segments=1
; 共享內存塊的大小(單位:MB)
apc.shm_size=64
; 優(yōu)化級別,更高的值則使用更主動的優(yōu)化
apc.optimization=1
; 源文件的數(shù)目,不確定設置為0
apc.num_files_hint=0
; 緩存條目在緩沖區(qū)中允許逗留的秒數(shù)
apc.ttl=7200
; 針對每個用戶緩存條目在緩沖區(qū)中允許逗留的秒數(shù)
apc.user_ttl=7200
; 緩存條目在垃圾回收表中能夠存在的秒數(shù)
apc.gc_ttl=7200
; 文件寫鎖
apc.write_lock=on
三、xcache
xcache是一個開源的 opcode 緩存器/優(yōu)化器。
下載xcache,選擇對應PHP版本的xcache
http://xcache.lighttpd.net/pub/Releases/
把php_xcache.dll放到php的ext目錄下。
打開php.ini,配置如下:
[xcache-common]
extension = php_xcache.dll
[xcache.admin]
xcache.admin.enable_auth = On
xcache.admin.user = "admin"
xcache.admin.pass = "md5后你的密碼"
[xcache]
; 選擇底層內存共享實現(xiàn)方案
xcache.shm_scheme = "mmap"
xcache.size = 128M
; 設置為CPU數(shù)
xcache.count = 1
; 只是個參考值
xcache.slots = 8K
; 緩存時間
xcache.ttl = 1200
; 垃圾回收的時間間隔
xcache.gc_interval = 1200
; 同上,針對變量緩存設置
xcache.var_size = 4M
xcache.var_count = 1
xcache.var_slots = 8K
xcache.var_ttl = 1200
; 變量最大緩存時間
xcache.var_maxttl = 7200
xcache.var_gc_interval = 1200
xcache.var_namespace_mode = 0
xcache.var_namespace = ""
xcache.readonly_protection = Off
; 對于win系統(tǒng),這里不是文件路徑
xcache.mmap_path = "xcache"
xcache.coredump_directory = ""
xcache.coredump_type = 0
xcache.disable_on_crash = Off
xcache.experimental = Off
xcache.cacher = On
xcache.stat = On
xcache.optimizer = Off
[xcache.coverager]
xcache.coverager = Off
xcache.coverager_autostart = On
xcache.coveragedump_directory = ""
四、eAccelerator
eAccelerator是一個自由開放源碼php加速器,優(yōu)化和動態(tài)內容緩存,提高了php腳本的緩存性能,使得PHP腳本在編譯的狀態(tài)下,對服務器的開銷幾乎完全消除。 它還有對腳本起優(yōu)化作用,以加快其執(zhí)行效率。
下載eAccelerator
http://www.sitebuddy.com/PHP/Accelerators/eAccelerator_windows_binaries_builds
把下載到的eAccelerator_ts.dll放到php的ext目錄下。
打開php.ini,配置如下:
[eAccelerator]
extension="eAccelerator_ts.dll"
eaccelerator.shm_size="16"
eaccelerator.cache_dir="設置緩存目錄"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.log_file = "設置日志文件"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="0"
eaccelerator.compress="1"
eaccelerator.compress_level="9"
更多關于PHP相關內容感興趣的讀者可查看本站專題:《php緩存技術總結》、《php面向對象程序設計入門教程》、《PHP基本語法入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
您可能感興趣的文章:- 詳解PHP7開啟OPcache和Swoole性能的提升對比
- 如何使用OPCache提升PHP的性能
- 解決PHP Opcache 緩存刷新、代碼重載出現(xiàn)無法更新代碼的問題
- PHP如何開啟Opcache功能提升程序處理效率
- 啟用OPCache提高PHP程序性能的方法
- PHP解決高并發(fā)問題(opcache)