php – Netbeans Xdebug Vagrant连接超时

我正在尝试让xdebug为PHP工作,Netbeans连接到Vagrant配置的VM(如果重要,请使用PuPHPet进行设置)

我的VM上有这些php.ini设置:

[XDEBUG]
xdebug.remote_connect_back=1
xdebug.default_enable=1
xdebug.remote_autostart=0
xdebug.max_nesting_level=256
xdebug.remote_enable=1
xdebug.remote_log=/tmp/php5-xdebug.log
xdebug.remote_port=9000
xdebug.remote_handler=dbgp
xdebug.idekey=netbeans-xdebug

Netbeans的路径映射正确,并设置为本地网站运行.它正确启动带有GET变量的浏览器以开始调试.我的Windows防火墙允许netbeans,我添加了一个规则,允许从我的VM IP到我的本地IP(192.168.56.x地址,所以它是正确的子网)的所有内容.

从我的VM我可以ping我的主机操作系统.但是在xdebug日志中,我只看到:

Log opened at 2014-08-23 17:43:28
I: Checking remote connect back address.
I: Remote address found, connecting to 192.168.56.1:9000.
E: Time-out connecting to client. :-(
Log closed at 2014-08-23 17:43:28

在我的主机操作系统上,我尝试过netstat并验证Netbeans正在侦听端口9000.
我在Virtualbox中删除了9000上的端口转发,因为我已经读过我不需要它(最初我有它,但Netbeans抱怨其他人正在收听9000).

我已经意识到php-fpm也使用端口9000,所以我尝试了9001(在ini中使用php-fpm重启,在IDE中,也验证了IDE正在监听9001).相同的结果:

I: Checking remote connect back address.
I: Remote address found, connecting to 192.168.56.1:9001.
E: Time-out connecting to client. :-(
Log closed at 2014-08-23 18:11:59

所以现在我已经阅读了所有内容,而且我被困在这里.有任何想法吗?

解决方法:

在我发帖时,我找到了答案:

$netstat -r
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
10.0.2.0        *               255.255.255.0   U         0 0          0 eth0
192.168.56.0    *               255.255.255.0   U         0 0          0 eth1
link-local      *               255.255.0.0     U         0 0          0 eth0
link-local      *               255.255.0.0     U         0 0          0 eth1
default         10.0.2.2        0.0.0.0         UG        0 0          0 eth0

注意最后一行.所以我改变了:

xdebug.remote_connect_back=1

xdebug.remote_host=10.0.2.2

它在php-fpm重启后立即起作用!

上一篇:Java客户端找不到主节点:MasterNotDiscoveredException等待[1m]


下一篇:php – Symfony2和Twig在流浪盒中的表现