如何让ZendDebugger和ZendOptimizer共存?

2010-10-26 16:55:36来源:西部e网作者:

ZendDebugger与ZendOptimizer都是Zend扩展插件,两个单独安装都可以使用,但是要同时安装的话必须使用一个管理器ZendExtensionManager.dll(Zend扩展插件管理器)。

ZendDebugger与ZendOptimizer都是Zend扩展插件,两个单独安装都可以使用,但是要同时安装的话必须使用一个管理器ZendExtensionManager.dll(Zend扩展插件管理器)。

装了Optimizer原来的PHP.ini文件内容:

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

你只安装Optimizer或Debugger的时候zend_extension_ts是直接指向Optimizer或Debugger的dll的,现在这个指向ZendExtensionManager ZendExtensionManager。他的原理是先找到Zend_extension_manager.optimizer_ts指向的文件夹,
再去找php-5.2.x文件夹,并读取该文件夹下的ZendOptimizer.dll
所以路径结构是E:\......\Optimizer-3.3.0\php-5.2.x\ZendOptimizer.dll
但在zend_extension_manager.optimizer_ts里填的是php-5.2.x的父目录

知道了原理之后就简单多了

只要把解压后的 5_2_x_comp\ZendDebugger.dll 放在这样的路径下:E:\Zend\ZendDebugger-5.2.10\php-5.2.x\ZendDebugger.dll 千万不要忘记把5_2_x_comp改成php-5.2.x,我就犯了这个低级错误在php.ini加上

原来内容:

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

现在内容:

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

zend_extension_manager.debug_server_ts="e:\Zend\ZendDebugger-5.2.10"
zend_debugger.expose_remotely=allowed_hosts
zend_debugger.allow_hosts=127.0.0.1/32,127.0.0.1/24