Xdebug、Zend bugger与Zend Optmizer不兼容问题

来源:互联网 发布:中天数据恢复 编辑:程序博客网 时间:2024/04/29 05:08

PHP.ini的配置文件:
[Xdebug]
zend_extension_ts=”d:/wamp/php/ext/php_xdebug-2.0.4-5.2.8.dll”
xdebug.default_enable = On
xdebug.profiler_enable=on
xdebug.auto_trace=on
xdebug.collect_params=on
xdebug.collect_return=on
xdebug.trace_output_dir=”D:\wamp\debugcache”
xdebug.profiler_output_dir=”D:\wamp\debugcache”
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
debug.remote_mode=req
xdebug.remote_host= localhost
xdebug.remote_port=9000
xdebug.idekey=ECLIPSE_DBGP
xdebug.show_exception_trace=on
xdebug.show_local_vars=on
xdebug.show_mem_delta=on

[Zend Debugger]
zend_extension_manager.debug_server_ts = “D:/WAMP/PHP/Zend”
zend_debugger.expose_remotely = allowed_hosts ; always
zend_debugger.allow_hosts = localhost,127.0.0.0/254,192.168.1.0/254,192.168.0.0/254

[Zend optimizer]
zend_extension_manager.optimizer_ts=”D:/WAMP/PHP/Zend”
zend_extension_ts=”D:/WAMP/PHP/Zend/ZendExtensionManager.dll”

三个独立使用都没有问题,如果在一起就会出现兼容问题

1.Zend optimizer和zend debugger可以同时使用
对于使用Zend加密PHP文件来说,这个是唯一的解决方法,也算比较理想

2.Xdebug和zend debugger不能同时使用
也没有必要同时使用,Xdebug强于zend debugger,主要是提示信息显示很好,在页面出错时候彩色提示页面看起来很明朗,最重要可以输出效能检测文件,用wincachegrind查看很 明显可以看出php执行效率,已经不仅仅是debug出错,重要可以看到效率瓶颈

3.Xdebug和Zend optimizer同时使用问题
xdebug的官方手册中指出xdebug应当作为zend extension加载,这样的话就会xdebug就不能和任何使用zend extension一起使用,也就是包括Zend optimizer,否则会冲突,导致Apache无法启动。

如何让xdebug与ZendOptmizer共存呢?解决方法就是不以zend extension的形式加载xdebug,用加载常规扩展的方法。把xdebug的dll文件放入php的ext文件夹中,然后在php.ini中加 入:extension=php_xdebug-2.0.4-5.2.8.dll

这样xdebug就能与ZendOptmizer共存了,phpinfo()里会提示:XDEBUG NOT LOADED AS ZEND EXTENSION,实际运行结果,可以加载成功并且由eclipse给xdebug发送调试开始和结束信号的,也能输出效能监测文件但无法断点,对于开 发来说,没有断点差不多等于没有用,也就是说这种解决方法是很不理想,差不多不实际

通过这样比较,所以目前只能是使用Zend optimizer和zend debugger,zend debugger的官方下载地址:http://downloads.zend.com/pdt/server-debugger/


原创粉丝点击