3

我在使用 XDebug 时遇到问题。

配置如下:

  • 视窗 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

任何帮助将不胜感激...

4

2 回答 2

1

首先检查你在eclipse中使用的是什么版本的PHP....检查它: Window->preference->PHP->PHP Interpreter....

那里的版本应该与PHP版本匹配......

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

于 2012-09-14T09:15:30.380 回答
1

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

检查您拥有的 Eclipse 版本(包)?事实证明,当您将应用程序调试为Web Application. 仅当您将其作为PHP Script. 这使得它对调试过程毫无用处。

您应该考虑为 PHP 开发人员恢复到较旧的 Galileo Package Eclipse或安装最新的Eclipse Juno(甚至是最新的 Eclipse Kepler 开发人员版本),它没有内置 PDT 支持,但您可以使用Help > Install New Software..(指向http://download.eclipse.org/tools/pdt/updates/release)。

据报道,这些版本能够按照Web Application断点进行调试。

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

于 2013-05-15T12:47:27.607 回答