Sunday, 8 October 2006

PHP Remote Debugging - DBG + Xdebug

在前面两篇中,分别提到了如何用DBGXdebug扩展模块,在IDE中进行PHP Remote Debugging。

谈到IDE,PHPeclipse也是一个目前比较流行的PHP开发环境。其正式的版本中,使用DBG作为调试器。目前在其开发版本中,包含了对Xdebug的支持。PHPeclipse在使用DBG的时候,不需要DBG Listener,其内置了监听器,缺省所使用得端口也有所改变。

对php.ini进行设置,以实现同时对DBG和Xdebug模块,以及多个PHP IDE的支持。具体的设置如下:

...
extension=php_dbg.dll

[Debugger]
debugger.enabled=on
debugger.profiler_enabled=on
debugger.JIT_enabled=on
debugger.JIT_port=7869, 10000/16
...
zend_extension_ts="ext/php_xdebug.dll"
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
xdebug.show_exception_trace=on
xdebug.show_local_vars=on
xdebug.show_mem_delta=on
xdebug.idekey=<idekey>

在使用调试器的时候,不要启用Zend Optimizer。Xdebug必须占用zend_extension_ts,才能进行Remote Debugging。

这里,Xdebug的loading,使用了相对路径,也可以使用绝对路径,以适应PHP扩展模块目录的位置变化。

0 Comments:

Post a Comment

<< Home