IIS6下ISAP方式运行的PHP启用配置xcache
    文章作者:恒爱网络 阅读次数:6489 发布时间:2013-10-26

        服务器环境:win2003 IIS6, php版本5.2.17(线程安全版本), ISAP方式运行的,因为网上推荐说Xcache 在WINdows环境下更为稳定,因此为其启用Xcache缓存加速器。

        经多次测试新版本的Xcache3.0.x 版本都与zend 的组件冲突,一并运行会出现500错误,并且没有解决的资料来源,故而如果服务器需要安装zend ,那么可以选择 xcache1.3.2 for php5.2.17,而且xcache1.3.2这个版本可以兼容, 下载地址 http://xcache.lighttpd.net/pub/Releases/1.3.2/XCache-1.3.2-php-5.2.17-Win32-VC6-x86.zip

        xcache的优点 可以很大幅度的降低CPU占用并使网页执行时间缩短,不足之处是会占用更多的内存。因此内存低的服务器不建议配置。

        下载xcache后解压,把php_xcache.dll放在你服务器的php目录下的ext目录里。


    然后编辑php.ini。

    在最后面添加


    [xcache-common] 

    zend_extension_ts = "你的PHP路径\ext\php_xcache.dll"


    [xcache.admin]


    xcache.admin.enable_auth = Off
    xcache.admin.user = "binarie"
    xcache.admin.pass = "123456"

    [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的内存缓存大小,一般普通网站建议设置为32MB,这个视你服务器 上运行的网站多少以及服务器闲置内存多少来酌情设置。此设置不是所有网站共享32M ,而是每个被访问的PHP网站都要创建一个32M缓存区。因此此值设置越大对服务器物理内存要求越大。若运行超出,很有会造成网站瘫痪。

    xcache.count  设置为CPU的数量(可以在“设备管理器”中查看“处理器”显示几个就写几个)

    xcache.ttl=0           设置缓冲项目的 Ttl (Time To Live) 值, 0=永不过期.
    xcache.gc_interval =0          检查过期项目, 回收内存空间的间隔.

    xcache.var_size    一般设置5M或以上即可,不需要太大
    xcache.var_count  跟xcache.count一样
    xcache.mmap_path  共享内存标识名,尽量用xcache,避免跟其它软件冲突
    xcache.optimizer  优化器,如果没安装Zend可以开启。

    至此配置完毕,重新启动IIS即可。

    需要说明 xcache.stat = Off 这个地方,设置为On,则每次回去检查文件是否修改,如果修改会将修改过的文件重新编译然后存进opcode缓存来替代旧的opcode缓存,为Off则不进行检查直接使用旧的opcode缓存,注意这时候如果修改文件则响应不会马上发生改变,除非重启WEB服务。


    注意:如果安装了Zend,可能会出现 xcache配置好之后在admin 管理后台看不到正常工作的情况,请把调用php_xcache.dll的zend_extension_ts提到调用zend的前面。如:


    [xcache-common]
    zend_extension_ts= "D:\php\ext\php_xcache.dll"

    [Zend]
    zend_extension_manager.optimizer_ts="C:\Program Files\Zend\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0"
    zend_extension_ts="C:\Program Files\Zend\ZendOptimizer-3.3.0\lib\ZendExtensionManager.dll"

    [xcache.admin]

    ......xcache.admin配置内容省略