IIS6下用eAccelerator和Zend给PHP双重加速
近来总是感觉服务器上的php运行不是很痛快,所以想到了加速器。虽然,在安装Discuz!+SupeSite的时候就已经更具软件需求安装了Zend optimization,不过还没有达到极致,这次又给php添加了eAccelerator这个开源加速器。下面介绍一下安装和配置的方法,也算是给网站留个备忘。
在PHP5.2下面可以用的eAccelerator0.95 使 eaccelerator 与 Zend Optimizer 和平相处
附件提供eAccelerator 0.9.5.2 for PHP 5.2.4的官方下载
。将解压缩后的dll文件,重命名为:eaccelerator.dll放到你的php文件夹下的ext目录,以备调用。
Zend Optimizer 是Zend官方发布的免费PHP优化器,国内外大多数用户对这一产品的唯一评价是“ZendLoader”。这种说法是因为该产品所谓的优化只是提供了一个页面压缩输出功能,其最主要的目的是为Zend相继推出的PHP代码“混淆器”铺桥搭路,让混淆后的PHP代码可以在计算机上得到执行。如果您打算真正获得高效PHP缓存,建议您选择 eaccelerator 。
Zend的市场推广能力非常之强,这样致使国内外大多数人采用Zend混淆器加密PHP代码。如果想使用被Zend混淆器加密过的代码,那么你必须安装 Zend Optimizer。这就引出了我们的主要问题,如何既可以获得执行Zend混淆器加密代码的能力,又可以获得 eaccelerator的高效率优化。
值得庆幸的是 eaccelerator 提供了对Zend扩展界面的支持,它可以和Zend Optimizer和平相处。让您轻松达到 “既可以获得执行Zend混淆器加密代码的能力,又可以获得 eaccelerator 的高效率优化”的目的。
我习惯性以ZEND扩展的方式配置该模块,下面是我使用的配置(官方标配):
在PHP.INI文件段,eaccelerator的配置内容写在Zend Optimizer之前,并做如下配置:
在X:\WINDOWS\下找到php.ini,打开查找[Zend]模块处
把整个 [Zend]换成以下代码:注意其中的各种路径请根据你服务器的实际情况填写。
zend_extension_ts="S:\php\ext\eaccelerator.dll"
;eA加速器路径部分PHP版本此处使用 zend_extension
eaccelerator.shm_size="512"
;eA使用的内存
eaccelerator.cache_dir="S:\php\tmp"
;eA缓冲目录,需要新建一个文件夹,记得给web server可读写权限。
eaccelerator.enable="1"
;eA是否启用
eaccelerator.optimizer="1"
;eAccelerator优化功能
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
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"
zend_extension_ts="S:\zend\lib\ZendExtensionManager.dll"
zend_extension_manager.optimizer_ts="S:\zend\lib\Optimizer-3.3.0"
;zend_optimizer.enable_loader = 1
;开启Zend Loader以解析Zend混淆器加密过的PHP代码。默认开启,此行配置只是起到说明作用。
zend_optimizer.optimization_level=1023
;禁止优化功能,避免冲突。
;zend_optimizer.optimization_level=15
;zend_optimizer.license_path =