XDebug / Apache / PHP / Eclipse跳过断点

时间:2012-09-13 14:43:53

标签: php xdebug

我遇到了XDebug的问题。

配置如下:

  • Windows 7 64位
  • PHP 5.4.6线程安全32位
  • Apache 2.4线程安全
  • Eclipse PDT 3.0.2

问题是xdebug_break()调用不起作用,通过Eclipse输入的断点也不起作用。我可以看到扩展正在工作,因为它在phpinfo()中显示为一个模块。当我调用不可调用的方法时,XDebug会输出相关的错误消息。

我修改了Eclipse的Web服务器路径映射,但无济于事。

这是我的php.ini配置:

zend_extension = c:/php/php_xdebug-2.2.1-5.4-vc9.dll
xdebug.remote_enable = 1
xdebug.remote_host = localhost
xdebug.remote_port = 8080
xdebug.remote_mode = req

任何帮助都会受到赞赏......

2 个答案:

答案 0 :(得分:1)

首先检查你在eclipse中使用PHP的版本.... 检查通过: Window-> preference-> PHP-> PHP解释器....

版本应该与PHP版本匹配.....

如果问题没有解决,请回复....

答案 1 :(得分:1)

对于所有那些仍在与这个问题作斗争的人,一些方便的提示。

检查您拥有的Eclipse版本(包)?当您将应用程序调试为Web Application时,Helios软件包有一些错误并且在断点上没有停止,它turns out。如果您将其作为PHP Script运行,则调试仅起作用。这使调试过程变得毫无用处。

您应该考虑还原到较早的Galileo Package Eclipse for PHP Developers或安装最新的Eclipse Juno(甚至newest developer version of Eclipse Kepler),它们没有内置PDT支持,但您可以轻松地将其添加到然后,使用Help > Install New Software..(将其指向http://download.eclipse.org/tools/pdt/updates/release)。

据报道,这些版本可以调试Web Application,尊重断点。

另外,请记住,Xdebug必须作为 Zend Extension 运行才能支持断点!换句话说,从extension=xdebug.so删除xdebug.dll(在Linux上或php.ini在Windows上)行,并将其替换为zend_extension=/full/path/to/xdebug.so(在Linux上或Windows上为zend_extension=X:\full\path\to\xdebug.dll) 。 Zend扩展需要完整路径,即使它们作为常规PHP扩展放入/php/ext文件夹。您可以在Xdebug FAQ中找到更多相关信息(寻找答案“ Xdebug仅作为PHP扩展加载,而不是作为Zend扩展”问题)。