XCache在Win2003 IIS6下的成功配置方法與疑難解答
2024-08-29 03:15:23
供稿:網友
XCache是一種新的php緩存器,經過本人測試,在Windows下效果比同類軟件強很多。
實際測試效果如下(非科學方法):
原網頁平均執行時間: 0.13 秒
加速后網頁平均執行時間: 0.03秒
原CPU占用率: 15% - 60%
加速后CPU占用率: 3% - 30%
由上數據可以看出,使用這個加速器可以很大程度的降低CPU占用(但會造成更多的內存占用),并使網頁執行時間縮短。
由于其他同類軟件對Windows的支持不夠好,所以選用XCache。
網上很多說明都不夠詳細,所以給大家寫一篇。
安裝與配置
首先下載XCache,網址為:
下載地址:
需要下載跟你php版本匹配的binaries for Windows。
下載后解壓,把php_xcache.dll放在php.ini中指定extension_dir中。
下面開始配置,打開php.ini。
添加(記得是添加,不要更換原來的zend_extension_ts參數)
Zend_extension_ts = "($extension_dir)/php_xcache.dll"
本人配置的時候,把($extension_dir)替換成絕對路徑才行的。
(為什么不用extension,一會再說)
添加
[xcache.admin]
xcache.admin.enable_auth = Off
xcache.admin.user = "UserName"
xcache.admin.pass = "PassWord"
[xcache]
xcache.shm_scheme = "mmap"
xcache.size = 64M
xcache.count = 4
xcache.slots = 64K
xcache.ttl = 1800
xcache.gc_interval = 1800
xcache.var_size = 8M
xcache.var_count = 4
xcache.var_slots = 64K
xcache.var_ttl = 0
xcache.var_maxttl = 0
xcache.var_gc_interval = 300
xcache.test = Off
xcache.readonly_protection = Off
xcache.mmap_path = "xcache"
xcache.coredump_directory = ""
xcache.cacher = On
xcache.stat = Off
xcache.optimizer = Off
[xcache.coverager]
xcache.coverager = Off
xcache.coveragedump_directory = ""
需要修改的值已經用藍色標出,說明如下:
xcache.admin.enable_auth XCache后臺是否需要驗證(這個后臺在剛才下載的XCache的admin目錄中,可以自由處理)
xcache.admin.user XCache后臺登陸用戶名
xcache.admin.pass XCache后臺登陸密碼
xcache.size XCache的內存緩存大小,普通網站建議設置為64MB,如果是IDC服務器,可以設置成256MB
xcache.count 設置為CPU的數量(雙核算2個,比如我的是兩個雙核Xeon 3.0,就設置為4)
xcache.var_size
xcache.var_count 跟上兩條一樣
xcache.mmap_path 共享內存標識名,盡量用xcache,避免跟其它軟件沖突
xcache.optimizer 優化器,如果沒安裝Zend可以開啟。
至此配置完畢,重新啟動IIS即可。
至于為什么不用extension,而用zend_extension_ts,因為這個發行版的xcache的接口是ZEND_API,直接用extension無法初始化。
疑難解答
1、phpinfo()中顯示沒有加載php_xcache.dll
檢查php_xcache.dll的NTFS權限是否正確,需要給網站用戶(或者可以用Guests)只讀權限。
2、出現php內存錯誤
使用了extension調用php_xcache.dll,請嘗試使用zend_extension_ts。
3、打開網頁沒有響應,出現錯誤 Fatal error: [Zend Optimizer] Zend Optimizer *** is incompatible with XCache 1.2.2
這是因為安裝了Zend導致,解決方法很簡單,把調用php_xcache.dll的zend_extension_ts提到調用zend的前面。如:
zend_extension_manager.optimizer_ts="C:/Program Files/Zend/ZendOptimizer-3.3.0/lib/Optimizer-3.3.0"
zend_extension_ts="C:/php/ext/php_xcache.dll"
zend_extension_ts="C:/Program Files/Zend/ZendOptimizer-3.3.0/lib/ZendExtensionManager.dll"
4、有待補充 由于XCache官方很長時間沒有更新,最近很多朋友開始用Memcache,大家可以參考下。