Board logo

标题: windows2003下如何安装 Xcache 缓存 [打印本页]

作者: 幸福在右    时间: 2012-10-14 10:26     标题: windows2003下如何安装 Xcache 缓存

介绍
XCache是一种新兴的php缓存器,主要为WIN环境下IIS开发,经过本人测试,在Windows下效果比同类软件强很多。 同类PHP缓存加速器软件eaccelerator在LINUX下表现出色,但是在IIS环境下就动不动出现内存出错,所以如果服务器是IIS的,建议使用XCache!

安装与配置:
首先下载XCache,网址为:
http://xcache.lighttpd.net/wiki/Release-1.2.2

为Windows预编译的二进制

下载后解压,把Release_Ts文件夹里的php_xcache.dll

放在php.ini中指定extension_dir文件夹中(直接用extension无法初始化,($extension_dir)请改成你的PHP的EXT所在目录。比如我的是d:\host\php\ext\php_xcache.dll, php.ini一般在C:\WINDOWS目录下)
下面开始配置,在你下载的Xcache解压文件中找到xcache.ini或xcache-zh-gb2312.ini,下面我们来配置Xcache的一些参数。

例:
复制内容到剪贴板
代码:
;; 本文件只是例子, 请在 php.ini 里设置以便生效
[xcache-common]
;; Windows 系统例子:
zend_extension_ts = "d:\host\php\ext\php_xcache.dll"

[xcache.admin]
xcache.admin.enable_auth = Off
xcache.admin.user = "admin"
; xcache.admin.pass = md5($您的密码)
xcache.admin.pass =123456

[xcache]
; 这里的多数选项仅在 ini 里可以修改, 这里列出的都是默认值, 除非另外说明

; select low level shm/allocator scheme implemenation
xcache.shm_scheme =        "mmap"
; 禁用: xcache.size=0
; 启用: xcache.size=64M 之类 (任意>0的值) 同时请注意您的系统 mmap 上限
xcache.size  =                64M
; 建议设置为 cpu 数 (cat /proc/cpuinfo |grep -c processor)
xcache.count =                 2
; 只是个参考值, 您可以放心地存储多于此数量的项目(php脚本/变量)
xcache.slots =                64K
; 缓存项目的 ttl, 0=永久
xcache.ttl   =                1800
; 扫描过期项目的时间间隔, 0=不扫描, 其他值以秒为单位
xcache.gc_interval =          1800

; 同上, 只是针对变量缓存设置
xcache.var_size  =            8M
xcache.var_count =             1
xcache.var_slots =            8K
; 默认, 允许 ini_set()
xcache.var_ttl   =             0
; 最大ttl值
xcache.var_maxttl   =          0
xcache.var_gc_interval =     300

; 仅测试用
xcache.test =                Off
; /dev/zero 时无效
xcache.readonly_protection = Off
; 对于 *nix 系统, xcache.mmap_path 是文件路径而不是目录, (可以不存在 但是必须能创建).
; 如果您期望启用 ReadonlyProtection, 可以使用类似 "/tmp/xcache"
; 2 个 php 组不会共享同一个 /tmp/xcache
; 对于 Win32 系统, xcache.mmap_path=匿名MAP名字, 不是文件路径. 建议使用 XCache 字眼避免跟其他软件冲突
xcache.mmap_path =    "/dev/zero"


; 仅用于 *nix 系统
; 设置为空(禁用) 或者类似 "/tmp/phpcore/"
; 注意该目录应该能被 php 写入文件 (跟 open_basedir 无关)
xcache.coredump_directory =   ""

xcache.cacher =               On
xcache.stat   =               On
xcache.optimizer =           Off

[xcache.coverager]

; 如果 xcache.coveragedump_directory 设置为空则本设置自动为 Off
xcache.coverager =          Off

; 请确保本目录能被 coverage viewer 脚本读取 (注意 open_basedir)
; 依赖于 xcache.coverager=On
xcache.coveragedump_directory = ""
索引:
[xcache-common]
zend_extension_ts = "($extension_dir)\php_xcache.dll"

[xcache.admin]



xcache.admin.enable_auth = Off
xcache.admin.user = "username"
xcache.admin.pass = "1"
[xcache]
xcache.shm_scheme ="mmap"
xcache.size =64M
xcache.count =2
xcache.slots =64K
xcache.ttl =1800
xcache.gc_interval =1800
xcache.var_size =8M


………………

需要修改的值已经用蓝色标出,说明如下:
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可以开启。



把刚才我们配置的信息复制拷贝到

在pin.ini文件最下边[Zend]前



复制内容到剪贴板
代码:
[Zend]

zend_extension_manager.optimizer_ts="d:/host/zend/lib/Optimizer-3.3.0"

zend_extension_ts="d:/host/zend/lib/ZendExtensionManager.dll"

,然后保存

至此配置完毕,重新启动IIS即可。 然后写个phpinfo();检测一下XCACHE是否运行

<?php
phpinfo();
?>

疑难解答


1、为什么不用extension,因为这个发行版的xcache的接口是ZEND_API,直接用extension无法初始化,($extension_dir)请改成你的PHP的EXT所在目录。比如我的是d:\host\php\ext\php_xcache.dll


如果是PHP5.3.2有可能需要换成


zend_extension= "($extension_dir)\php_xcache.dll"     或


extension= "($extension_dir)\php_xcache.dll"

2、phpinfo()中显示没有加载php_xcache.dll

   检查php_xcache.dll的NTFS权限是否正确,需要给网站用户(或者可以用Guests)只读权限。
3、出现php内存错误
   使用了extension调用php_xcache.dll,请尝试使用zend_extension_ts。

4、打开网页没有响应,出现错误 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"



可能需要到的文件,本站已整理 [attach]9[/attach]






欢迎光临 安雄互助 (http://help.35isp.com/) Powered by Discuz! 6.0.0