0

我正在尝试让 Ne​​tBeans 或 Komodo IDE 远程调试 PHP。我在开发机器上安装了一个远程网站,这是一台运行 Mountain Lion 的 Mac。Xdebug 已安装。本地机器上的网站在浏览器中正常运行。

但是,对于 NetBeans 和 Komodo IDE,当单步执行代码时,执行 mysqli_connect 的尝试会失败。在 NetBeans 中有以下错误消息:

发生 Socket Exception如果您有任何 Watches,请尝试删除它们并重新启动调试器。如果删除 Watches 没有帮助或您没有任何 Watches,请提交问题并提供重现问题的确切步骤。请附上IDE日志。附加您的项目也将非常有帮助。

我看到其他人报告此错误消息,但未提供任何帮助。

在 Komodo IDE 中,故障发生在同一位置,但根本没有提供错误信息。

NetBeans 中的有趣之处在于,在单步浏览网站的第一页之后,如果我从该点运行代码,它会毫无故障地执行,并且网页会显示在浏览器中!这意味着该问题仅在单步执行时发生。

我在某处看到过有关 NetBeans 中的错误的信息。但是,NetBeans 不应该能够单步执行尝试连接到 mysql 的代码,这似乎很明显。相反,我认为这将是我系统上的一些配置问题。

无论是单步执行还是以任何其他方式运行,Komodo IDE 都会出现同样的故障。它只是没有超过那个点。

但是,请记住,仅在浏览器中运行该站点就可以正常工作。那么是什么导致 Xdebug 单步无法连接到 mysql 呢?

** 附加信息 **

我在我的系统上找到了两个 xdebug.so 实例。

-rwxr-xr-x  1 root  admin  274508 Oct  6  2011 /opt/local/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so
-rwxr-xr-x  1 root  wheel  202672 Sep 20 20:01 /usr/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so

此外,还有一个 /opt/local/var/db/php5/xdebug.ini 引用 /opt/local 路径中的 xdebug.so。/usr/lib 路径中的 xdebug.so 是我认为正在使用的那个,它对应于关于它应该安装在哪里的说明。

这些显然是 xdebug.so 的两个不同版本。这可能与我的问题有关吗?

4

1 回答 1

2

您需要确保您正在运行一个版本的 Xdebug - 并确保这是最新版本(目前为 2.2.1)。如果您仍然可以重现此问题,请在http://bugs.xdebug.org提交错误报告,其中包含简短的示例脚本(包含所有代码 + 数据!)和使用该脚本进行调试会话的远程调试日志(有关如何制作此类日志的信息,请参阅http://xdebug.org/docs/all_settings#remote_log )。

于 2012-11-12T13:47:40.433 回答