xdebug连接客户端超时.使用phpstorm 7.1.3/vagrant/virtualbox/magento


xdebug Time-out connecting to client. :-( using phpstorm 7.1.3/vagrant/virtualbox/magento

有一段时间,我正在使用Phpstorm EAP,并且xdebug运行得很好。我最近购买了一个个人许可证,并将我所有的设置从EAP导入到7.1.3中。现在xdebug不工作了。

这是xdebug.ini

zend_extension=xdebug.so
xdebug.remote_host = 192.168.56.1
xdebug.remote_cookie_expire_time = 36000
xdebug.remote_log = /tmp/xdebug.log
xdebug.remote_port = 9000
xdebug.remote_handler = dbgp
xdebug.remote_mode = req
xdebug.remote_enable = 1
xdebug.remote_autostart = 0
xdebug.idekey="PHPSTORM"
xdebug.scream=0
xdebug.remote_connect_back=1
xdebug.show_local_vars=1

xdebug也显示在php.ini中。我甚至在http://xdebug.org/wizard.php中运行了它,并安装了最新版本。

Phpstorm正在监听xdebug的9000端口,并且"监听PHP调试连接"打开。

我的xdebug日志不断告诉我:

Log opened at 2014-07-18 17:46:16
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-07-18 17:46:16

我甚至尝试过注册表编辑:http://brianreiter.org/2010/09/18/fix-virtualbox-host-only-network-adapter-creates-a-virtual-public-network-connection-that-causes-windows-to-disable-services/

无论我尝试什么,xdebug都会超时。即使所有防火墙都关闭了。

我用的是Windows 7 Enterprise。虚拟机是puppet/centos65-x64

编辑忘了说Phpstorm的IDE键是Phpstorm

为了直接回答你的困惑,有两个设置很突出。它们是xdebug.remote_hostxdebug.remote_connect_back。前一个设置的IP是不正确的,特别是在一个流浪者设置。应该是10.0.2.2之类的。此外,不应该定义和启用后一种设置。当它被启用时,它完全忽略前一个设置,从而使它变得无用。总而言之,前一种设置是错误的,后一种设置忽略了它,但后一种设置也是错误的。这些设置只是Xdebug不能工作的部分原因。

扩展:安装Xdebug在PhpStorm与Vagrant

Vagrant引入了一个标准的、非虚拟化的开发环境中不存在的复杂层。虽然以上几点可能是正确的,但是为了通过Vagrant在PhpStorm中运行Xdebug,仍然需要遵循一些额外的设置和过程。我为此挣扎了一段时间,在几次失败的尝试之后,我成功地连接上了。在实现这种设置的在线文档中也有很大的缺陷,所以在成功地使整个设置工作之后,我在我的博客上记录了指导方针。详细描述了整个设置过程,并配有相关的屏幕截图。我也使用CentOS 6.5 64位,指导方针反映了这一点。它甚至已经在Magento上进行了测试。

如何通过Vagrant在PhpStorm中配置Xdebug