Phpstorm,xdebug和vagrant仍在等待传入连接

时间:2014-09-29 08:59:26

标签: php networking vagrant phpstorm xdebug

这让我感到烦恼,主要是因为它工作正常然后突然断点断开了,当我检查调试器时它只是在等待传入连接。

我的流浪汉机器正在private_ip: 192.168.13.37

上运行

我的xdebug.ini配置如下:

zend_extension=/usr/lib/php5/20090626+lfs/xdebug.so
xdebug.remote_enable = on
xdebug.remote_connect_back = on
xdebug.remote_port = 9020

这些是我的PHPstorm调试设置: enter image description here

我在PHPstorm中有一个流浪服务器设置,其主机为dev.website.com,指向Windows主机文件中的正确IP,端口为80,文件夹映射正确。

我还设置了PHP应用程序,以使用解释的服务器,其中包含/的起始网址。

我点击了开始侦听PHP调试连接,然后点击绿色小臭虫图标开始调试。这将使用以下查询字符串?XDEBUG_SESSION_START = 18359 启动项目,但是当我在调试窗口中查看PHPstorm时,它会说waiting for incoming connection with ide key 18359

任何想法如何让它再次运作?

修改 添加了xdebug日志:pastebin

3 个答案:

答案 0 :(得分:5)

有同样的问题,帮助我的是设置:

xdebug.remote_autostart = 1

我的其他设置是:

zend_extension=xdebug.so
xdebug.remote_enable=1
xdebug.remote_connect_back=1
xdebug.remote_port=9010
xdebug.idekey=phpstorm
xdebug.remote_autostart = 1
xdebug.remote_handler=dbgp
xdebug.remote_host=10.0.2.2

答案 1 :(得分:2)

你说你有一个指向端口80的服务器设置?这可能是问题所在。

  

我在PHPstorm中设置了一个流浪汉服务器,它有一个dev.website.com主机,它指向Windows主机文件中的正确IP,端口为80,文件夹映射正确。

您使用PHP远程调试吗? enter image description here

如果是屏幕截图中的服务器设置,请将端口更改为9020或任何您想要使用的端口。

我检查xDebug无法正常工作的第一步:

在PHPStorm首选项中设置在第一行打破

首选项 - >语言和框架 - > PHP->调试(首先搜索中断)

启用第一行中断功能

仍然没有用?

你的phpinfo说什么? 是否启用了xDebug并且所有设置都匹配?

phpinfo()

如果没有尝试此https://xdebug.org/wizard.php并查看此Tutorial

若是,请尝试

是否有防火墙阻止您的端口?

没有? 好的 - >

vagrant ssh 
netstat -an | grep 9000

检查端口是否正在侦听并且没有被任何阻止。

我建议使用端口9000,与其他人有问题。

我最近遇到了 hhvm 阻止该端口的问题。 我把它从系统中清除了。

如果一切正常,请尝试使用phpstorms远程调试功能并明确地映射项目的 index.php 文件。

也可以尝试不使用数值作为您的idekey

<强> XDEBUG_SESSION_START = 18359

大多数人都使用这样的东西:

<强> XDEBUG_SESSION_START = PHPSTORM

您可以为xdebug.so添加一个idekey 看起来像这样

xdebug.idekey=PHPSTORM

带有xdebug参数的小列表:https://xdebug.org/docs/basic

我目前的项目phpstorm配置如下所示: enter image description here

这是一个用于在浏览器中设置会话cookie的插件 https://chrome.google.com/webstore/detail/xdebug-helper/eadndfjplgieldjbigjakmdgkmoaaaoc

答案 2 :(得分:0)

我的问题与远程服务器上的两台主机非常相似。

一个名为dev.host.com,另一个名为123.host.com(对应于临时版本号)。

我的问题是dev.host.com在phpstorm中与xdebug完美配合,而另一台主机总是在等待传入连接。

我花了几个小时来查看原因,但是通过更改我的xdebug参数,我的phpstorm conf,我的文件夹权限,......直到我用一些字母字符重命名我的123.host.com,结果没有找到任何结论。 abc.host.com&#39;和.....它开始工作了!

所以我建议你小心你为你的主机选择的名字,我认为它没有正确映射......很奇怪,但在我这边解决了。