16
2013-01

ZendDebugger与ZendOptimizer共存的解决方案

  我们用于调试程序的工具主要有xdebug和zenddebugger,由于历史遗留或者传承原因,大家都使用了xdebug。

  之前我也是使用xdebug,但在使用过程中发现有两点不足,而且感觉很要命。

  一是经常莫名其妙的崩溃掉,让人费解。调试程序到一半或快成功找到问题所在的时候他就经常惠顾。

  二是xdebug与Optimizer水火不容,我们做客开项目时crm系统中同时存在加密和未加密两种代码,为了调试我们不得不舍弃Optimizer,带来的问题就是未加密的代码请求加密代码时会报错,而这种错误在项目实际运行时不会出现(运行时都是加密的),浪费了测试和开发人员的精力。

  而ZendDebugger作为php的兄弟产品,其兼容性应该会好于xdebug,因此我写了本文,提出ZendDebugger和Optimizer并存的解决方案。

  ZendDebugger和Optimizer都是非常好用的工具,但是鱼和熊掌究竟可以兼得么?

  1.  环境

  Win  Server 2003+PHP5.2.17+Apache2.2.10+ZendDebugger 5.2.15+ZendOptimizer 3.3.0

  2. 概念

  (1)ZendOptimizer是Zend公司为支持PHP高速化所开发的一个PHP加速引擎,使用该引擎后可以使得PHP在WebServer上提高30~50%的性能;zend optimizer还可以运行经过zend加密的PHP文件。目前optimizer3.3.3只支持php5.2。

  (2)ZendDebugger是Zend公司为支持PHP开发者们,配合ZendStudio及其系列调试产品所供的用于开发调试时使用的接口机能。

  3. 单独配置optimizer

  步骤一:运行"ZendOptimizer-3.3.0 a-Windows-i386.exe"。屏幕上出现一个对话框,是软件安装向导的欢迎界面,直接单击"Next>"按钮即可到下一步安装。

  步骤二:选择"I accept the terms in the license agreement",单击"Next>"按钮继续,确认同意软件安装使用许可条例对话框。

  步骤三:弹出选择安装位置对话框,这里可以选择你喜欢的位置,单击"Next>"按钮继续安装。

  步骤四:弹出如下选择Web服务器种类的画面,选择Apache2.x选项。单击"Next>"按钮继续安装。

  步骤五:弹出选择PHP配置文件php.ini位置对话框。这里选择的位置是php.ini所在的文件夹。单击"Next>"按钮继续安。

  步骤六:会弹出一个框,大概意思是重启服务器,单击"Next>"按钮继续安装。

  至此zend optimizer3.3.3就算安装完成了,非常简单。目录结构如下:

image


  下面我们来介绍Zend Optimizer的配置选项,帮助你最大化自定义合理的配置。

  一般情况下单独配置的optimizer的php.ini文件如下:

  [Zend]

  zend_optimizer.optimization_level=15

  zend_optimizer.encoder_loader=0

  zend_extension_ts=" E:\crm\ZendOptimizer\lib\ZendExtensionManager.dll"

  zend_extension_manager.optimizer_ts="E:\crm\ZendOptimizer\lib\Optimizer-3.3.0"

  解释一下:

  zend_optimizer.optimization_level:优化程度,这里定义启动多少个优化过程。

  zend_optimizer.encoder_loader:是否允许处理由Zend Encoder加密的PHP文件。

  zend_extension_ts:优化器所在目录。

  zend_extension_manager.optimizer_ts:优化器管理所在目录。

  4. 单独配置Debugger

  下载zenddebugger(http://www.zend.com/en/products/studio/downloads )。

  将其解压,然后将下载到的对应php版本的Debugger放到php目录中。

  一般情况下单独配置的ZendDebugger的php.ini文件如下:

  [Zend]

  zend_extension_ts=" E:\crm\ PHP\ext\ZendDebugger.dll"

  5. 通过ZendManager管理兼容ZendDebugger和Optimizer

  如果已经安装过optimizer,我们就可以使用zend的扩展管理模块(ZendManager)实现Optimizer与Debugger共存。

  首先参照Optimizer的目录结构对debugger目录进行整理,整理后结构如下:

image



  相应的最简单的php.ini配置如下:

  [Zend]

  zend_extension_manager.optimizer_ts="E:\crm\ZendOptimizer\lib\Optimizer-3.3.0"

  zend_extension_ts="E:\crm\ZendOptimizer\lib\ZendExtensionManager.dll"

  zend_extension_manager.debug_server_ts="E:\crm\ZendDebugger"

  查看一下phpinfo。

图片3.png

图片4.png



除非注明,文章均为史亚永原创,欢迎转载!转载请注明本文地址,谢谢。

本文地址:http://www.shiyayong.cn/post/103.html

评论列表:

3  sunhaiwei.net  2013-1-18 7:39:06 回复该留言  IP:210.22.136.170
我是来看 有我不会的么
  茶馆老板  2013-1-18 9:43:07 回复该留言  IP:124.205.133.34
那这个你会吗?亲
茶馆老板
sunhaiwei.net
2  英文网站建设  2013-1-16 16:34:33 回复该留言  IP:222.76.181.147
两个都没有用过
  茶馆老板  2013-1-16 16:47:23 回复该留言  IP:124.205.133.34
你不是做php程序的吧?
  英文网站建设  2013-1-17 15:42:12 回复该留言  IP:222.76.180.15
我自己没做 我们公司有做
  茶馆老板  2013-1-17 19:35:04 回复该留言  IP:220.181.73.124
那可以跟着学学哦,看得多了慢慢就懂了
茶馆老板
英文网站建设
茶馆老板
英文网站建设
1  抽油烟机什么牌子好  2013-1-16 9:39:05 回复该留言  IP:119.142.30.16
很高深的东西,值得学习!!
  茶馆老板  2013-1-16 13:06:25 回复该留言  IP:124.205.133.34
php也不算什么的了,比较容易学习的吧
茶馆老板
抽油烟机什么牌子好

发表评论:

(设置个性头像)

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

无觅相关文章插件,快速提升流量