首先,我会为另一篇关于Netbeans和XDebuug的帖子堵塞互联网而道歉但是经过两周的努力让XDebug从Windows 7远程连接到我的开发机器之后,我别无选择。仅供参考,我已对该问题进行了广泛的研究,但已经用完了高质量的搜索结果。
总结一下,当我尝试连接调试器时,我得到'附加到127.0.0.1:9000\r.nConnection拒绝。',如果我尝试通过右键单击/调试文件来调试文件,我会'等待连接'
这里是/etc/php5/apache2/xdebug.ini下的我的XDebug.ini文件:
zend_extension=/usr/lib/php5/20090626+lfs/xdebug.so
xdebug.remote_enable = on
xdebug.remote_autostart = off
xdebug.remote_handler = dbgp
xdebug.remote_port = 9000
xdebug.remote_server = localhost
xdebug.remote_mode = req
xdebug.idekey = netbeans-xdebug
output_buffering = off
xdebug.remote_log = "/var/log/xdebug.log"
我的系统规格是:
我的笔记本电脑:
我的服务器:
我是如何尝试连接的:
在Stuporglues tutorial之后,我将xdebug和netbeans配置为使用putty连接在端口9000(在xdebug.ini和netbeans-> tools-> options-> php-> debugging)上运行端口9000在ssh->隧道(9000 / 127.0.0.1:9000)下作为远程转发。
我可以看到Linux服务器在监听:
james@XXX:/$ netstat -a -n | grep 9000
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN
tcp6 0 0 ::1:9000 :::* LISTEN
当我尝试调试文件时,我可以看到Netbeans正在侦听端口9000
netstat -aon
...
TCP 127.0.0.1:9000 127.0.0.1:59691 ESTABLISHED 6744
此外,浏览器(chrome)会在地址栏中正确打开调试参数:
https://xxxxx.xxx/xxxxx/dMotor1_2PropZ.php?XDEBUG_SESSION_START=netbeans-xdebug
但Netbeans只是挂着“等待连接”
事情尝试了:目前的理论:
连接被拒绝了?是否有阻止连接的东西?如果是这样,我怎么找到它?我已经尝试了所有我能想到的东西。否则这是一个默认的错误消息,它掩盖了一个完全不同的问题?
更多信息:
老实说,我很可能在这里错过了一些简单的东西并且潜水得太深,无法轻易实现,这是我第一次尝试让XDebug在远程机器上工作而我的Linux管理员和Netbeans体验是有限的。
更奇怪的是,我在我办公室的描述配置下工作了一次,然后我将我的电脑置于待机状态并回家,此时我也可以使用调试运行一次然后不更改任何设置,上面描述的问题开始了。
XDebug日志文件包含“无法连接”,但目前不添加新内容。
任何帮助都会非常感激。
提前致谢,
詹姆斯
答案 0 :(得分:1)
您是否尝试更改remote_server INI指令?
我的开发电脑上有Win7,服务器上有Ubuntu 12.04.3,我的ini包含以下xdebug指令:
[xdebug]
xdebug.auto_trace = 0
xdebug.collect_params = 1
xdebug.show_mem_delta = 1
xdebug.collect_params = 1
xdebug.profiler_append = 0
xdebug.profiler_enable = 0
xdebug.profiler_enable_trigger = 0
xdebug.remote_enable = 1
xdebug.remote_port = 9000
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "MY_HOSTNAME"
它就像一个魅力
答案 1 :(得分:0)
对于所有WINDOWS用户........
这项技术基于unix世界而且它使用 / etc / hosts文件解析所有主机名,包括localhost。
因此;甚至在Windows上它正在寻找“主机”文件 它位于c:\ windows \ system32 \ drivers \ etc。
编辑您的hosts文件并添加localhost或您的任何主机 想要你的xdebug.remote_host。
e.g。
127.0.0.1 locahost
192.168.0.101 abojmsi
这不仅可以解决这个问题,还可以解决几乎所有的apache问题。