让调试利器zend debugger与zend Optimizer共存,和谐!

这是一篇纠正性文字,将很久以前在《服务器调试——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 debugger

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


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值