您当前位于: 首页 » zend studio不知道 » 让调试利器zend debugger与zend Optimizer共存,和谐!

让调试利器zend debugger与zend Optimizer共存,和谐!10/28/2009

这是一篇纠正性文字,将很久以前在《服务器调试——Zend Debugger 的安装教程》中提到的zend debugger安装方法更新一下,因为那种方法不能够与zend Optimizer共存,即运行zend debugger就不能运行zend Optimizer,或者反之。后来,参考了网络上的资料以及xampp的启发,终于找到了完美的解决方案,其关键点就在于Zend Extension Manager,它被包含在zend Optimizer的发行包中,本文依然以windows为例,来看看怎么利用这个Zend Extension Manager来实现多个zend扩展的共存,和谐的运行。

首先我们安装Zend Optimizer v3.3.3 For Windows-i386,这是目前的最新版,安装过程中的参数选择不再赘述,都很简单。我把它装成了这样:

[Zend]
zend_extension_manager.optimizer_ts="D:\myserver\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0"
zend_extension_ts="D:\myserver\ZendOptimizer-3.3.0\lib\ZendExtensionManager.dll"

看,我们获得了ZendExtensionManager.dll,原来的问题就是zend_extension_ts只能指向一个扩展,现在我们将其指向ZendExtensionManager.dl,交由ZendExtensionManager托管扩展,此时,在phpinfo中已经看到zend Optimizer安装成功了,我们应该看看D:\myserver\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0这个目录下的情况,因为这对我们后面安装zend debugger有帮助。

D:\myserver\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0\php-4.2.0
D:\myserver\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0\php-4.2.x
D:\myserver\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0\php-4.3.x
D:\myserver\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0\php-4.4.x
D:\myserver\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0\php-5.0.x
D:\myserver\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0\php-5.1.x
D:\myserver\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0\php-5.2.x
D:\myserver\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0\php-4.2.0\ZendOptimizer.dll
D:\myserver\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0\php-4.2.x\ZendOptimizer.dll
D:\myserver\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0\php-4.3.x\ZendOptimizer.dll
D:\myserver\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0\php-4.4.x\ZendOptimizer.dll
D:\myserver\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0\php-5.0.x\ZendOptimizer.dll
D:\myserver\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0\php-5.1.x\ZendOptimizer.dll
D:\myserver\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0\php-5.2.x\ZendOptimizer.dll

可以看到Optimizer-3.3.0\php-5.2.x形如这样的很有规律的命名,而不幸的是,zend debugger的发行包并没有按照这个规则命名,我们需要逐个的修改它们,后来,我将它们改成这样子:

D:\myserver\zendDebugger\php-5.0.x
D:\myserver\zendDebugger\php-5.1.x
D:\myserver\zendDebugger\php-5.2.x
D:\myserver\zendDebugger\php-5.0.x\ZendDebugger.dll
D:\myserver\zendDebugger\php-5.1.x\ZendDebugger.dll
D:\myserver\zendDebugger\php-5.2.x\ZendDebugger.dll

是的,必须要这样,否则zend debugger是没有办法加载成功的。然后我们继续修改php.ini文件,内容变成下面这样了:

[Zend]
zend_extension_manager.optimizer_ts="D:\myserver\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0"
zend_extension_ts="D:\myserver\ZendOptimizer-3.3.0\lib\ZendExtensionManager.dll"
zend_extension_manager.debug_server_ts="D:\myserver\zendDebugger"
zend_debugger.expose_remotely=allowed_hosts
zend_debugger.allow_hosts=127.0.0.1/32,192.168.16.36/24
zend_debugger.allow_tunnel=127.0.0.1/32

上面的参数需要根据你的实际情况修改一番,然后我们重启amp环境,不出意外的话,你应该看到类似下面的信息:

zend-extension-manager

这就表示安装成功了,此时zend Optimizer和zend debugger正在和谐的运行着,好了,我的啰嗦写完了。但我这根本算不了什么,你猜怎么着,有牛人将xdebug也整合了进去,简直令人发指,无以复加,请看:https://www.akii.org/2009-07/zend-debugger-and-xdebug-and-zend-optimizer-approach-to-coexist/。祝你围观愉快!

| 12条评论 标签:  

12条评论
  1. xixer说道:

    令人发指…

  2. finf说道:

    xampp最新版1.7.2中并没有预装zend optimizer,好像是因为zend optimizer3.3.3还不支持PHP5.3.0

    • gently说道:

      我没有下载最新的xampp,你说的后面是对的,因为zend optimizer3.3.3中没有php-5.3.x目录,所以就是不支持

  3. 淡水说道:

    很好,学习了
    Gently的文字和视频一直都是通俗易懂,清晰明了,作为教程堪称绝佳
    公司新来同事php新手,我直接让他来看Gently的教程,这不现在zend studio用得很好,调试也顺了

  4. Fonny说道:

    很感谢G大的辛勤劳动.让我又解决了一个问题.
    如果能顺便写个具体如何使用Zend Debug调试的专题文章就更好了,呵呵~

    • gently说道:

      教程里头已经有了啊,视频教程呢!为什么很多人都看不到呀?难道是本站结构很乱吗?

  5. Mbox说道:

    最近手里有个PHP项目,好久没用Zend的东西了。现在技术越来越成熟了,非常感谢G的帮助!

  6. 小菜说道:

    哭。。。我试了试,怎么都没弄出来!求助~
    我的ZendOptimizer-3.3.0是安装在C:\Program Files\Zend下面,
    目录是这样的:
    C:\Program Files\Zend\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0
    C:\Program Files\Zend\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0\php-4.2.0
    C:\Program Files\Zend\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0\php-4.2.x
    C:\Program Files\Zend\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0\php-4.3.x
    C:\Program Files\Zend\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0\php-4.4.x
    C:\Program Files\Zend\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0\php-5.0.x
    C:\Program Files\Zend\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0\php-5.1.x
    C:\Program Files\Zend\ZendOptimizer-3.3.0\lib\Optimizer-3.3.0\php-5.2.x

    然后就在C:\Program Files\Zend目录下面加了一个文件目录zendDebugger
    C:\Program Files\Zend\zendDebugger\php-4.0.x
    C:\Program Files\Zend\zendDebugger\php-4.1.x
    C:\Program Files\Zend\zendDebugger\php-4.2.x
    C:\Program Files\Zend\zendDebugger\php-5.0.x
    C:\Program Files\Zend\zendDebugger\php-5.1.x
    C:\Program Files\Zend\zendDebugger\php-5.2.x
    (php-5.2.x这样的目录是我安装LZ的方法修改出来的,原来的文件夹名字是5_2_x_comp这样的类型的。)

  7. sancia说道:

    Zend Debugger 好像最新的只有 5.2,可以支持 PHP 5.3吗 ??

    • sancia说道:

      刚刚下载错误了, 我下载的是 5.2.15 那个包,原来只有 5.2的包里才有 PHP 5.3

  8. sky说道:

    现在zendStudio9 能和zenddebugger兼容么?博主写个教程文章指导下吧~谢谢啦·

发表评论