2012-12-17 65 views
8

我试图在下列情况下使用了XDebugXdebug的远程服务器未连接 - netbeans的

  • 我的电脑的Windows 7上,NetBeans 6.9
  • 在计算机
  • 物理主机在同一网络上(Windows 7中)与虚拟框
  • 虚拟CentOS 6.2,与Apache服务器2.2.15和PHP 5.3.3
  • 我的网站的PHP代码是在CentOS上的共享文件夹,在/ var/www/html/mysite和有单独并可以通过服务器ip访问它192.168.1.240
  • 编辑C:\ WINDOWS \ SYSTEM32 \ DRIVERS \等\主机192.168.1.240 mysite
  • PHP代码是从我的Windows主机访问,对\\HostIP\html\mysite,与R/W权限

我上创建一个NetBeans项目我电脑,指向\\HostIP\html\mysite。在项目运行的配置,我有以下几点:

  • 运行方式:远程网站
  • 项目网址:http://mysite/
  • 索引文件:index.php文件(没有项目存在)

在高级运行配置:

  • 我查了 “默认”
  • 我没碰过的代理服务器设置

在php.ini我有以下我的CentOS VM

;extension=xdebug.so 
zend_extension="/usr/lib64/php/modules/xdebug.so" 
xdebug.remote_enable=on 
xdebug.remote_log="/var/log/xdebug.log" 
;xdebug.remote_host=192.168.1.31 
xdebug.remote_connect_back=1 
xdebug.remote_handler=dbgp 
xdebug.remote_port=9000 

注:我试过的配置,在extension=xdebug.so,并试图评论xdebug.remote_connect_back=1与取消注释xdebug.remote_host=192.168.1.31这是我的电脑IP地址。

所以基本上我有这样的形象 enter image description here

,但仍无法正常工作所有的配置!运行后,调试器会打开这个网址

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

,并没有将刚刚发生的NetBeans清单等待Xdebug的连接

+0

确保你可以在端口9000达到与NetBeans主机从CentOS的事: 的telnet 192.168.1.31 9000 – ualinker

+0

确定我试过了和“连接到192.168.1.31”。所以它的工作和服务器都可以达到的NetBeans –

+0

正常,检查一切都很好用PHP的配置在这里:http://xdebug.org/wizard.php – ualinker

回答

0

尝试任何断点设置你的执行脚本。调试会话可能不显示,而ide不尊重“第一行中断”标志。

同时检查php.ini中的xdebug.idekey属性是否等于Netbeans设置中的ideKey。

1

当我要到远程主机,我通常有我的本地9000端口转发到上调试通过SSH隧道的远程服务器的本地9000:

ssh -R 9000:localhost:9000 [email protected]

使用bitvise SSH客户端或腻子在Windows以获得相同的效果。

另外,在项目设置 - >运行配置 - >高级按钮

确保指定的远程和本地的完整路径的项目文件,以便调试器可以附加(不用担心这个港口屏幕离开标准)。

1

我知道这是一个旧帖子,但它好像是我今晚跑过的那个。

NAT网络安装是获取最少冲突的方法。在Windows 7防火墙中,设置一个自定义入站规则,允许入站流量通过端口9000进入VM所在的整个/ 24网络(192.168.202/24)。

我的工作XDebug的设置在php.ini,使用2.2.7的Netbeans 8.0.2

zend_extension=xdebug.so 

xdebug.remote_enable=1 
xdebug.remote_connect_back=1 
xdebug.remote_port=9000 
xdebug.idekey="netbeans-xdebug" 
xdebug.show_local_vars=0 
;xdebug.extended_info=1 
xdebug.output_buffering=off 
xdebug.remote_log=/var/log/xdebug.log 

最后,我想指出的是,Netbeans的侦听远程地址在远程文件config中设置。做一个快速的netstat -an表明Netbeans正在监听端口9000,在我的初始桥接网络设置的旧地址上有一个CLOSE_WAIT状态。 即使在更改项目URL和远程连接IP地址并关闭了几个xdebug连接后,这种情况从未改变。只有在关闭Netbeans之后,旧的连接才会下降。一旦Netbeans再次启动,新的远程服务器URL将用于远程xdebug连接。

从来没有讨论过提到存在陈旧状态的Netbeans,并且从IDE停止xdebug连接的能力给重新设置套接字带来了错觉。

如果仍然无法正常工作,使用提供debugclient在虚拟机上,用“?XDEBUG_SESSION_START =于NetBeans XDebug的”附加到的index.php URL访问项目页面,并观看了XDebug的信息来至少你知道它在本地工作。