博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

ZendOptimizer介绍

Posted on 2012-04-16 16:06  乌雲安全  阅读(1434)  评论(1编辑  收藏  举报

      Zend Optimizer用优化代码的方法来提高PHP 4.0应用程序的执行速度。实现的原理是对那些在被最终执行之前由运行编译器(Run-Time Compiler)产生的代码进行优化。一般情况下,执行使用Zend Optimizer的PHP程序比不使用的要快40%到100%。这意味着网站的访问者可以更快的浏览网页,从而完成更多的事务,创造更好的客户满意度。 更快的反应同时也意味着可以节省硬件投资,并增强网站所提供的服务。所以,使用Zend Optimizer,就等于提高了电子商务的盈利能力。Zend Optimizer能给PHP用户带来很多益处,特别是那些运营网站的人。快速运行PHP程序可以显著降低服务器的CPU负载,并可以减少一半的反应时 间,也就是从访问者点击链接到服务器开始读取页面之间的时间。(来自PHP100网站)

      zend Optimizer的版本及其支持的PHP版本

    

    来自www.zend.com官方网站。

 

   Zend Optimizer各版本的安装方法

   安装之前先要保证你的PHP版本为5.2或者以下,否则不支持。

   首先下载zend optimizer,我下载的是zend optimizer3.3.3 for windows,请点击下 载地址下载。下载zend optimizer是免费的,不过你在zend官网上下载时,首先需要注册,这点请注意。

下载完zend optimizer3.3.3后,双击安装文件开始安装zend optimizer,在安装过程中有几点需要注意:

1、首先会让你选择zend optimizer的安装目录,你可以根据需要自行选择,我的建议是出于安全考虑,最好安装在网站目录之外。

2、在zend optimizer的安装过程中,会让你选择你的PHP环境所使用的WEB服务平台,默认有IIS,Apache等,我使用的是Apache2.x,请务 必选对,这涉及后续的操作。

3、之后zend optimizer安装程序会让你选择php.ini的具体目录位置,这是因为zend optimizer需要找到PHP配置文件,作为备份并在此添加相应的zend optimizer配置信息,默认为C:\Windows,如果你的PHP版本是PHP5.2,默认是不需要更改的。说个题外话,虽然目前zend optimizer不支持PHP5.3,不过早晚肯定会支持的,所以今后如果你在PHP5.3环境下安装zend optimizer,你就需要更改默认的php.ini配置文件的目录位置了。

4、最后,根据你选择的WEB服务器的类型,选择服务器的具体安装目录,之前我选择的是Apache服务器,所以只要指定Apache服务器的 安装目录即可。

5、在zend optimizer的安装过程中,会要求停止或启动Apache或IIS服务器,你只需要点击确定即可,其会自动停止或启动Apache或IIS服务器。

6、如果今后你卸载zend optimizer,zend optimizer安装程序默认会自动恢复之前备份的php.ini文件。

至此zend optimizer3.3.3就算安装完成了,非常简单。

下一步需要验证zend optimizer3.3.3是否安装成功,你只要新建一个php文件,并输入phpinfo()函数,在游览器中访问这个文件,看到输出的PHP配置信 息中有Zend Optimizer栏及

Zend Engine v2.2.0, copyright (c) 1998-2009, Zend Technologies Ltd., with the Zend Optimizer v3.3.3, copyright (c) 1998-2007 Zend Technologies Ltd.

 

 

信息,就说明zend optimizer安装成功了。

zend optimizer配置教程

zend optimizer配置信息在安装时会自动写入PHP配置文件php.ini尾部,默认的zend optimizer配置信息如下

1
2
zend_extension_manager.optimizer_ts=”D:\PHPTools\Zend\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0″
zend_extension_ts=”D:\PHPTools\Zend\ZendOptimizer-3.3.0\lib\ZendExtensionManager.dll”

zend_extension_manager.optimizer_ts和zend_extension_ts分别指定zend optimizer管理器的目录及zend optimizer扩展文件的目录地址。

注意:zend optimizer的这两个配置选项针对不同的PHP5版本,也有出入,PHP5 Non-Thread Safe版本时zend optimizer配置信息如下

1
zend_extension=<full_path_to_ZendOptimizer.dll>

除了这两个配置选项,zend optimizer还有几个配置选项

1、zend_optimizer.enable_loader:告诉zend optimizer是否可执行被Zend Encoder加密过的代码。默认配置zend optimizer支持。如果想取消,你只要在之前php.ini中的zend optimizer配置信息中添加

1
zend_optimizer.enable_loader = 0

即可, 0代表关闭,1代表开启。

2、zend_optimizer.optimization_level:zend optimizer的优化过程,总共有10个,最大值为1023,Zend公司定义的最高值(High模式)为15,即开启1-4号优化过程,这个15即 将4个优化过程的值相加得来。10个优化过程如下

1
2
3
4
5
6
7
8
9
10
优化过程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

3、其他两个zend optimizer配置选项zend_optimizer.disable_licensing和 zend_optimizer.licence_path、zend_optimizer.obfuscation_level_support和 zend guard有关,有机会下次再说。

完成zend optimizer配置工作后,重启WEB服务器,你可以在phpinfo中看到zend optimizer栏多出了Optimization Pass 1-4 enabled,Zend Loader enabled的信息,这就说明zend optimizer配置修改成功了。

至此windows平台上zend optimizer安装和zend optimizer的基本配置工作就算完成了,你可以尝试执行经过zend加密的PHP程序来体验zend optimizer带来的变化,对PHP入门学习者加深理解有帮助。