我试图设置一个使用Virtualbox / Vagrant / Puppet的开发盒,目的是最终将所有的机器configuration到生产环境。 但是,这阻止了我现在前进。 我已经安装了Ubuntu的透明Windows 7。
当在Eclipse中启动一个debugging会话来连接到xdebug时,它会挂起57%(在eclipse中不能和xdebug进行通信时)。 这里是我的xdebug.ini,这里的设置出现在phpinfo()中。
xdebug.remote_enable=On xdebug.remote_handler=dbgp xdebug.remote_host=192.168.56.1 xdebug.remote_port=9000
我现在想知道这是否是端口转发的问题? 如果eclipse正在查看端口9000,它会在虚拟机上find端口9000吗?
任何帮助将不胜感激!
我发现这是许多networking接口的问题。 当我将xdebug.remote_host设置为IP地址时,我的本地机器(运行virtualbox的机器)用来访问互联网,debugging工作正常。 这并不意味着外部IP,而是我的机器在本地局域网中(从访问互联网)的地址。将IP地址设置为与主机专用适配器(例如192.168.56.1)配对的IP地址不起作用。 但是:我只用主机适配器就可以运行整个系统。 尽pipe我可以 – 对我来说 – 不知道这是什么原因。 唯一不同的是,机器上的所有其他连接都被禁用。 但是我不能重现我的状态
编辑:好吧,我已经发现问题是什么:问题是一个Windows问题(还有什么?)。 Windows似乎像真正的适配器一样处理networking适配器,因此将其纳入防火墙问题中。 您需要告诉Windows,所有“仅VirtualBox主机以太网适配器”设备不是真正的设备。
为此,您必须对registry进行一些小的更改:打开regedit并导航到
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}
在这个键中你会发现你的系统使用的所有types的适配器。 find那些具有属性“DriverDesc”的键值为“仅限VirtualBox主机的以太网适配器”,并添加一个名为'* NdisDeviceType'的值为1的新DWord属性。重新启动您的机器,就是这样。
请注意,从那时起,所有VirtualBox主机以太网适配器将不再显示在networking和共享中心中!
一旦完成,XDebug甚至可以使用xdebug.remote_connect_back = 1参数,它以前没有做过!
尝试使用xdebug.remote_connect_back而不是remote_host ,假设您的stream浪机器无法访问外部世界。
xdebug.remote_enable=1 xdebug.remote_connect_back=1 xdebug.remote_handler=dbgp xdebug.remote_port=9000