转载自:
参考链接:
PHP加速一:Zend Optimizer优化PHP程序
安装Zend Optimizer优化PHP程序
1、运行安装文件,首先提示你选择安装目录,选择一个你喜欢的目录,单击“Next”。
2、安装向导会要求你选择当前使用的WEB服务器(Apache、IIS或其它),选择好服务器后单击“Next”3、安装向导提示您确认php.ini的位置(默认是C:\WINDOWS\)单击“Next”,提示“备份php.ini到C:\WINDOWS\php.ini-Optimizer-bak,当卸载该软件时可以恢复到原始的php.ini)单击“Next”。 4、安装向导提示“为了继续安装程序需要重新启动IIS服务)单击“是”,安装程序开始重新启动IIS服务,然后安装程序会提示“IIS服务顺利重新启动了”单击“确定”,再单击“finish”完成安装。 5、安装完毕后程序会自动根据你的选择来修改php.ini帮助你启动这个引擎。下面我们来介绍Zend Optimizer的配置选项,帮助你最大化自定义合理的配置。[Zend]
zend_optimizer.optimization_level=15 //我的配置文件中zend_optimizer.optimization_level = 1023 zend_extension_ts="C:\Inetpub\Zend\lib\ZendExtensionManager.dll" //这个与你的安装路径有关 zend_extension_manager.optimizer_ts="C:\Inetpub\Zend\lib\Optimizer-2.5.5" 现在我们来介绍上边这些配置文件中相关内容的含义: zend_optimizer.optimization_level 《== 优化程度,这里定义启动多少个优化过程。 zend_optimizer.encoder_loader 《== 是否允许处理由Zend Encoder加密的PHP文件,默认允许。 zend_extension_ts 《== 优化器所在目录。 zend_extension_manager.optimizer_ts 《== 优化器管理所在目录。 优化过程 zend_optimizer.optimization_level 详细解释 这里最为重点的部分,仔细看!Zend Opt总共有10个优化过程,从理论上说开的越多性能越好。当然,理论和实际永远都存在着差距。优化过程开启的越多对性能消耗也相对也越大,Zend Opt的10个优化过程并不相同也就是说效果不是平均的。Zend公司定义的最高值(High模式)为15,这里15指的是开启1-4号优化过程。当然,很多朋友并不满足于此,毕竟最高也只开启4个优化过程连总数的一半都没有。各个优化过程的对应的数字代码(值)如下: 不使用 0 <= 如果这样不如不装,还能节约点内存说! 优化过程1(PASS1) 1 优化过程2(PASS2) 2 优化过程3(PASS3) 4 优化过程4(PASS4) 8 优化过程5(PASS5) 16 优化过程6(PASS6) 32 优化过程7(PASS7) 64 优化过程8(PASS8) 128 优化过程9(PASS9) 256 优化过程10(PASS10) 512 以何种方式开启优化过程是通过这些数字代码(值)相加所得的和作为此参数的参数值来控制的。如我的配置文件中zend_optimizer.optimization_level = 1023, 这里的1023是优化过程1到优化过程10全部数字代码(值)相加得到的和,表示开启全部10个优化过程。刚才所提到的Zend公司定义的High模式值为15,15表示同时开启优化过程1-4。 加密代码支持 zend_optimizer.encoder_loader 详细解释 对于这个参数,我想如果没有看过Zend Opt FAQ文档的朋友大多数并不知道。这个参数用来告诉Zend Opt是否去支持被Zend Encoder加密过的代码。默认情况下Zend Opt将支持加密过的代码。如果不使用被加密过的代码我推荐你关闭此选项。这个功能牵扯到解包反码的过程,会导致系统负荷的加重。我的朋友已经开发完毕相应的反编译工具,预计春节之后推出。 这个参数的值只有两个 0 关闭, 1 开启。默认为1,推荐设置为0。 模块定位 zend_extension_ts 、zend_extension_manager.optimizer_ts无需解释,这些参数就是Zend Optimizer相关模块在硬盘上的安装路径。 6、如何获知Zend Optimizer是否在运行? 答案很简单,只要用PHP的函数phpinfo()来检测便知,如下所示: <? phpinfo(); ?> 显示的结果中关于Zend Optimizer的部分就象下面这样:(PHP版本不同,信息可能不同,我的是PHP4.3.11) [Copy to clipboard] [ - ]CODE: This program makes use of the Zend Scripting Language Engine: Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies with Zend Extension Manager v1.0.6, Copyright (c) 2003-2004, by Zend Technologies with Zend Optimizer v2.5.7, Copyright (c) 1998-2004, by Zend Technologies 表示 Zend Optimizer for PHP优化成功了。
PHP 优化配置之二
用eAccelerator(前身Truck MMCache)加速1.首先,我们下载编译好了的Module
http://www.arnot.info/eaccelerator/ 选择下载对应您的系统和PHP版本的eAccelerator 2.将其重命名为 eaccelerator.dll (win版) 或者 eaccelerator.so (linux版) 然后移至您的 php 的 extentions文件夹,其路径定义在您系统所用的的 php.ini 中 3.根据您系统的情况,一般有两种安装方式,一种按照Zend的扩展,一种是PHP扩展 推荐按照Zend的扩展,打开php.ini文件, 找到extension=php_zip.dll, 在下面添加 win版zend_extension_ts="c:\php\extensions\eaccelerator.dll" //路径根据您系统的情况而定,文件扩展名也是
eaccelerator.shm_size="16" //根据你的系统内存来,默认16M,可以改成64M eaccelerator.cache_dir="C:\php\tmp" //需要手动创建,WIN下例如C:\php\tmp,确保他的权限为可读写,并且以后不要动这个目录哦 eaccelerator.enable="1" eaccelerator.optimizer="1" 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" linux版zend_extension="/usr/lib/php4/eaccelerator.so" //路径根据您系统的情况而定,文件扩展名也是
eaccelerator.shm_size="16" //根据你的系统内存来,默认16M,可以改成64M eaccelerator.cache_dir="/tmp/eaccelerator" //需要手动创建,确保他的权限为可读写,并且以后不要动这个目录哦 eaccelerator.enable="1" eaccelerator.optimizer="1" 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" 取代 "zend_extension".
附:linux下创建缓存目录 [Copy to clipboard] [ - ]CODE: mkdir /tmp/eaccelerator chmod 0777 /tmp/eaccelerator PHP扩展安装模式,打开php.ini文件, 找到extension=php_zip.dll, 在下面添加extension="eaccelerator.so" //路径根据您系统的情况而定,文件扩展名也是,Win系统下是dll(例如c:\php\extensions\eaccelerator.dll)
eaccelerator.shm_size="16" eaccelerator.cache_dir="/tmp/eaccelerator" //需要手动创建,WIN下例如C:\php\tmp,确保他的权限为可读写,并且以后不要动这个目录哦 eaccelerator.enable="1" eaccelerator.optimizer="1" 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" eAccelerator可以和Zend兼容,但是上面的代码在 php.ini 必须定义与 Zend 的相关代码之前,虽然官方强烈建议,除非您必须使用Zend过的代码,否则最好不同时使用Zend和eAccelerator,但是两个一起用也不冲突,还能加速,为什么不用呢,呵呵 完成上面的工作以后保存您的 php.ini , 然后重新启动 apache或者IIS, 看看 phpinfo 是不是不一样了?然后看看 phpwind 页脚的执行时间是不是快了许多? 正确安装后,可以在phpinfo上的Zend部分看到类似如下的信息:(PHP版本不同,信息可能不同,我的是PHP4.3.11,一般出现with eAccelerator就是成功了)This program makes use of the Zend Scripting Language Engine:
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies with eAccelerator v0.9.3, Copyright (c) 2004-2005 eAccelerator, by eAccelerator with Zend Extension Manager v1.0.6, Copyright (c) 2003-2004, by Zend Technologies with Zend Optimizer v2.5.7, Copyright (c) 1998-2004, by Zend Technologies 很简单的。操作前只要做好php.ini的备份即可,失败了大不了将备份的恢复过去。重起 apache或者IIS服务就行,呵呵,风险不是很大。 再看论坛经过加载eAccelerator以后运行,页脚执行时间由 0.02X 秒缩短至 0.01X秒...快了一倍多^_^ 特别说明 : 1、如果您的系统已经装了ZEND加速器,那么上述配置在PHP.INI中必须放在ZEND的前面,否则Apache不能启动; 2、eAccelerator.shm_size="64",这里的64是加速系统使用做CACHE的内存,默认是16M;根据您系统内存调整; 3、eAccelerator.cache_dir="C:\php\tmp",这个是加速器工作时候产生临时文件的目录,请在对应目录建立文件夹以存放缓存文件并且给予读写权限,如果安装时候默认目录空间小了建议调整 效果:现在系统同时有ZEND与eAccelerator加速器,PHP执行速度比原来是要快一些;ZEND优化已经开到最大;在PHP系统上感觉最明显的就是BBS,以及软件下载后台程序输出HTML静态页面速度非常快,而仅有ZEND的时候有些停顿。