0

我让 NetBeans/xdebug 在远程调试方面工作了好几个星期……然后改变了 ISP(Charter Cable 到 CenturyLink DSL),现在它不起作用了。另外,如果重要的话,我在 Mac OS X 10.8 上使用 NetBeans,我的网络服务器是带有 WHM/cPanel 的 CentOS。

Xdebug 已正确安装在我的网络服务器上,如 phpinfo() 所示:

This program makes use of the Zend Scripting Language Engine:
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies
with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans

我的 php.ini 文件包含以下条目:

[XDebug]
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_connect_back=1
xdebug.remote_port=9000
xdebug.idekey=netbeans-xdebug
xdebug.remote_log=xdebug_log
zend_extension = "/usr/local/lib/php/extensions/no-debug-non-zts-20100525/xdebug.so"

我已经重新启动了 Apached。我已经使用 xdebug.remote_host=xxx.xxx.xxx.xxx 尝试了特定的 IP,但我的 ip 经常更改,所以我认为当前的设置也应该可以工作(尽管有安全方面的考虑)。

在我的 Cisco DDR 2200 DSL 路由器上,我有以下端口触发设置:

                    Trigger start/end       Open start / end
netbeans-xdebug TCP 9000    9000        TCP 9000    9000

当我在 NetBeans(项目或文件)中选择调试时,我的浏览器会正确显示:

http://myurl/index.php?XDEBUG_SESSION_START=netbeans-xdebug

而 NetBeans 只是挂在那里:

"Waiting for Connection (netbeans-xdebug)" ...

日志这样说:

log opened at 2013-09-14 18:54:56
I: Checking remote connect back address.
I: Remote address found, connecting to xxx.xxx.xxx.xxx:9000.
E: Could not connect to client. :-(
Log closed at 2013-09-14 18:54:56

有什么建议么?

4

1 回答 1

0

终于让它工作了:

在我的 Cisco DDR 2200 路由器上,必须设置 NAT——虚拟服务器。

服务器名称:netbeans-xdebug 外部端口开始:9000 外部端口结束:9000 协议:TCP/UDP 内部端口开始:9000 内部端口结束:9000 服务器 IP 地址:192.168.64 远程主机:[留空]

我认为关键是“服务器 IP 地址”设置为我的计算机在本地网络上的 IP。

于 2013-09-26T20:39:38.353 回答