Netbeans Xdebug Vagrant连接超时



我试图让xdebug工作的PHP Netbeans连接到一个Vagrant配置的虚拟机(设置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,我添加了一个规则,允许从我的虚拟机IP到我的本地IP的所有内容(192.168.56。X地址,所以它是正确的子网)。

从我的虚拟机我可以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中删除了端口转发,因为我已经读到我不需要它(最初我有它,但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重启后立即工作!

最新更新