这让我感到烦恼,主要是因为它工作正常然后突然断点断开了,当我检查调试器时它只是在等待传入连接。
我的流浪汉机器正在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调试设置:
我在PHPstorm中有一个流浪服务器设置,其主机为dev.website.com
,指向Windows主机文件中的正确IP,端口为80,文件夹映射正确。
我还设置了PHP应用程序,以使用解释的服务器,其中包含/
的起始网址。
我点击了开始侦听PHP调试连接,然后点击绿色小臭虫图标开始调试。这将使用以下查询字符串?XDEBUG_SESSION_START = 18359 启动项目,但是当我在调试窗口中查看PHPstorm时,它会说waiting for incoming connection with ide key 18359
任何想法如何让它再次运作?
修改 添加了xdebug日志:pastebin
答案 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,文件夹映射正确。
如果是屏幕截图中的服务器设置,请将端口更改为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
这是一个用于在浏览器中设置会话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;和.....它开始工作了!
所以我建议你小心你为你的主机选择的名字,我认为它没有正确映射......很奇怪,但在我这边解决了。