XCache在Win2003 IIS6下的成功配置方法与疑难解答

XCache是一种新兴的php缓存器,在Windows下优化效率比同类软件强很多。
XCache是一种新的php缓存器,经过本人测试,在Windows下效果比同类软件强很多。

实际测试效果如下(非科学方法):
原网页平均执行时间: 0.13 秒
加速后网页平均执行时间: 0.03秒
原CPU占用率: 15% - 60%
加速后CPU占用率: 3% - 30%


由上数据可以看出,使用这个加速器可以很大程度的降低CPU占用(但会造成更多的内存占用),并使网页执行时间缩短。

由于其他同类软件对Windows的支持不够好,所以选用XCache。

网上很多说明都不够详细,所以给大家写一篇。

安装与配置

首先下载XCache,网址为:
下载地址:http://xcache.lighttpd.net/wiki/Release-1.2.2

需要下载跟你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,大家可以参考下。
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

随着智能手机的普及,越来越多的人使用手机上网,很多网站也应手机上网的需要推出了网站客户端,.apk文件就是安卓(Android)的应用程序后缀名,默认情况下,使用IIS作为Web服务器的无法下载此文件,那么怎么才能让IIS支持.apk文件的下载呢? IIS服务器不能下
今天有个客户问我他的网址访问目录就打开网站出现Directory Listing Denied,其实就是没有设置默认页面的问题,一般情况下默认网页的名称都是index.html,index.htm,default.htm,default.html、index.php、default.php等等,一般不是index就是default,不是ht
本文章介绍了关于windows服务器中IIS6 301重定向(参数后面参数介绍),有需要的朋友可参考一下。 重定向到URL 同时如果要重定向后面带参数的加上$S$Q选中上面输入的准确URL+此资源的永久重定向即可如果无参数可去掉$S$Q。 相关$s和Q的意思如下 实现网站的整体
错误系统日志: 为应用程序池 DefaultAppPool 提供服务的进程关闭时间超过了限制。进程 ID 是 1003。有关更多信息,请参阅在 http://go.microsoft.com/fwlink/events.asp ;的帮助和支持中心。 注:ID号,是变化的,可以为任何数据如3124,每次出现这种错误,
IIS 6的核心在于 工作进程隔离模式 ,而应用程序池则是定义工作进程如何进行工作,因此,可以说应用程序池是整个IIS 6的核心。 和IIS 5中只能使用单个应用程序池不同,工作在 工作进程隔离模式 的IIS 6可以创建多个应用程序池,不同的应用程序池之间是完全隔
在IIS6中,创建一下test.asp;jpg的文件,是可以直接执行的