2013-03-11 53 views
20

我无法让XDebug与Windows 7机器上的PhpStorm和Vagrant配合使用。我已经遵循每个教程来让这个工作,但没有运气。无法使用PhpStorm + Vagrant + XDebug进行调试

所以我已经试过是:

  • PhpStorm经常听调试连接
  • xdebug.ini文件有以下几点:

zend_extension = "..../xdebug.so" 
xdebug.remote_enable= 1 
xdebug.remote_handler=dbgp 
xdebug.remote_host= 33.33.33.10 
xdebug.remote_port= 9000 
xdebug.remote_connect_back= 1 
xdebug.remote_autostart= 1 
xdebug.remote_log = "...." 
  • 设置PhpStorm连接到localhost:808033.33.33.10,都没有运气。
  • 日志文件始终输出:

I: Checking remote connect back address. 
W: Remote address not found, connecting to configured address/port: 33.33.33.10:9000. :-| 
E: Could not connect to client. :-(
  • 防火墙(ESET Smart Security的)总是被关断时,我尝试调试
  • 设置路径映射,没” t工作要么

我只是不知道该怎么做,但我真的需要能够进行调试。
感谢您的帮助!

+2

什么机器33.33.33.10属于 - 你真正的一个(PhpStorm tuns)还是虚拟(Vagrant)?它必须是具有PhpStorm的机器的IP(从虚拟机看) - 检查$ _SERVER ['REMOTE_ADDR']具有什么。好文章阅读:http://confluence.jetbrains。com/display/PhpStorm /零配置+ Web +应用程序+调试+ + Xdebug +和+ PhpStorm – LazyOne 2013-03-11 13:17:26

+0

33.33.33.10属于Vagrant,但在Windows上大家都说它必须是VM而不是PhpStorm的机器 – 2013-03-15 09:02:27

+0

It必须是运行调试客户端(我们的情况下为PhpStorm)的计算机的IP地址 - 请查看xdebug手册中关于xdebug.remote_host的说明。 **除非你正在使用SSH tuneling和/或xdebug代理(这有点奇怪(主要是代理),因为它位于同一台计算机上,而不是在防火墙和路由器之后的互联网上) - 在这种情况下,听什么“每个人说“并问他们如何设置 - 我没有与此合作。 – LazyOne 2013-03-15 09:52:12

回答

38

问题非常愚蠢 - 我在Vagrantfile中转发了端口9000,吨有这样做......

现在,其实我看到,在xdebug.ini唯一需要的线路有:

zend_extension = ... 
xdebug.remote_enable = on 
xdebug.remote_connect_back = on 

的设置是非常简单的,如果你不这样做愚蠢的事情。 ..

+13

对于那些想知道为什么当他停止转发9000端口时为Nadav工作的原因,这是因为Xdebug实际上是反其道而行之。相反,您的计算机连接到端口9000上的Vagrant框,Xdebug实际上是反向工作 - 您的Vagrant框将连接到您的(主机)计算机上的Xdebug客户端。詹姆斯沃克对[这里]有很好的解释(http://walkah.net/blog/debugging-php-with-vagrant/)。 – Jonathan 2013-05-23 16:19:45

+2

即使不需要remote_handler - dbgp默认设置。 – Yurik 2013-09-28 00:31:16

+1

'debug.remote_connect_back = on'正是我所需要的:Mac OS X主机,在Ubuntu 14.04上运行vagrant。 – Jimbo 2015-09-05 13:43:56

0

确保您从PHPStorm内部连接到正确的URL。我的流浪盒子的IP地址为192.168.50.2,所以我必须设置我的项目地址=> 192.168.50.2

+0

感谢30equals,我已经设法解决了这个问题。唯一的问题是,我已经转发了Vagrantfile中的端口9000,我不必......关于你的答案 - 我已经尝试过了,不过谢谢你! – 2013-03-30 22:24:53

0

我必须设置

xdebug.remote_connect_back = '0' 
xdebug.remote_host= '10.0.2.2' 

所以我的整个配置是这样的:

xdebug.default_enable: '1' 
xdebug.remote_autostart: '1' 
xdebug.remote_connect_back: '0' 
xdebug.remote_enable: '1' 
xdebug.remote_handler: dbgp 
xdebug.remote_host: '10.0.2.2' 
xdebug.max_nesting_level: '400' 

主持人:Linux的

VM:流浪汉与PuPHPet使用VirtualBox

没什么特别PhpStorm

配置发现它在这里:http://jeromejaglale.com/doc/php/xdebug_vagrant_puphpet_phpstorm