【发布时间】:2012-10-30 18:39:12
【问题描述】:
我正在尝试让 NetBeans 或 Komodo IDE 远程调试 PHP。我在开发机器上安装了一个远程网站,这是一台运行 Mountain Lion 的 Mac。 Xdebug 已安装。本地机器上的网站在浏览器中正常运行。
但是,对于 NetBeans 和 Komodo IDE,当单步执行代码时,执行 mysqli_connect 的尝试会失败。在 NetBeans 中有以下错误消息:
发生套接字异常如果您有任何 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 的两个不同版本。会不会和我的问题有关?
【问题讨论】:
-
例如,您在 komodo ide 中的 xdebug 日志是什么?您可以发布您的 xdebug 设置吗?
-
您的 xdebug 日志和 xdebug 设置是什么?为什么会有不同的版本?文件夹的版本号一样吗?
-
在哪里可以找到 xdebug 设置?
-
我不知道为什么在不同的位置有两个版本。从它们的大小来看,它们绝对是不同的文件。这是关于为什么有两个的理论:(1)OS X 包含 xdebug.so(我已经将它发送到某个地方)。那将是 /opt/local 版本。 (2) 我很久以前在尝试设置 xdebug 时安装了另一个。请注意:这是我的理论,未经证实。
-
您可以在 php.ini 中找到 xdebug 设置。最好的办法是从最新版本编译它。
标签: mysql netbeans xdebug remote-debugging komodo