Vagrant PhpStorm&x2B;Xdebug:已建立连接,PhpStorm中没有调试窗口弹出窗口

Vagrant PhpStorm&x2B;Xdebug:已建立连接,PhpStorm中没有调试窗口弹出窗口,vagrant,phpstorm,xdebug,Vagrant,Phpstorm,Xdebug,我正在努力让PhpStorm和Xdebug在一个特定的流浪虚拟机上很好地运行 如何有效地跟踪和解决连接此VM的PhpStorm和Xdebug时的问题 虽然我可以看到PhpStorm和Xdebug在一定程度上进行了通信,但是Xdebug的连接并没有启动PhpStorm的调试窗口,并且不可能使用PhpStorm的调试功能 所讨论的工具组合是: 使用Ubuntu 16-04的漫游虚拟机 PHP7.1和PHPxdebug 2.7 PhpStorm 2018.2.1 Firefox Xdebug帮助程序

我正在努力让PhpStorm和Xdebug在一个特定的流浪虚拟机上很好地运行

如何有效地跟踪和解决连接此VM的PhpStorm和Xdebug时的问题

虽然我可以看到PhpStorm和Xdebug在一定程度上进行了通信,但是Xdebug的连接并没有启动PhpStorm的调试窗口,并且不可能使用PhpStorm的调试功能

所讨论的工具组合是:

  • 使用Ubuntu 16-04的漫游虚拟机
  • PHP7.1和PHPxdebug 2.7
  • PhpStorm 2018.2.1
  • Firefox Xdebug帮助程序扩展
  • Drupal 8.6.10
  • 断点插入到第16行的
    index.php
我能够让这个流浪的VM连接到Atom的
php调试
Xdebug集成。我还能够让这个PhpStorm连接到其他Vagrant实例的Xdebug

有关服务器的Xdebug配置:

# xdebug.idekey = "PHPSTORM"
# xdebug.remote_connect_back = on
xdebug.remote_autostart = off
# xdebug.remote_connect_back = on
xdebug.remote_enable = on
xdebug.remote_handler=dbgp
xdebug.remote_host = 10.0.2.2 # IP of the host system
xdebug.remote_log="/tmp/xdebug.log"
xdebug.remote_mode=req
xdebug.remote_port=9000
使用此配置时,我在日志文件
/tmp/xdebug.log
中看到输出

  • 当Xdebug Helper处于“禁用”状态时,页面将加载到浏览器中。没有日志条目记录到
    /tmp/xdebug.log
  • 当PhpStorm设置为“停止侦听PHP调试连接”时,页面将加载到浏览器中。没有日志条目记录到
    /tmp/xdebug.log
  • 当Xdebug Helper设置为“Debug”且PhpStorm设置为“开始侦听PHP调试连接”时,页面将暂停,就好像可以识别断点一样。但是,PhpStorm不会打开调试窗口,因此无法进行调试。以下内容记录到
    /tmp/xdebug.log
然后紧接着是(对于这个问题来说太大了),页面和资源按照之前的方式加载

如何有效跟踪并解决连接此VM的PhpStorm和Xdebug时出现的问题?

PhpStorm>语言>PHP:

PhpStorm>语言>PHP>调试:

您是否尝试过取消注释
#xdebug.remote_connect_back=on

我们发现在PhpStorm和XDEBUG之间工作总是需要它。或者更好:

xdebug.remote_connect_back=1
我们在上面的Vagrant解决方案WPLib框中使用了上述内容,我们专门构建了这个WPLib框,以使XDEBUG易于使用PhpStorm

我会在链接中向您展示,但回购协议是私人的。然而,我们最近切换到Docker inside Vagrant,我们的Docker repo是公共操作系统,这是针对我们的PHP7.2.6 Docker容器的


希望这有助于解决您的问题。

您正在将PhpStorm 2018.2.x与Xdebug 2.7一起使用

要么将PhpStorm升级到最新的稳定版本2018.3.x,要么将Xdebug降级到2.6.x


问题在于Xdebug协议中最近更改的XML名称空间,从Xdebug 2.7开始(
https
,而不是
http
)。自PhpStorm 2018.3.0(请参阅)以来,它已得到修复/支持。

您是否在PhpStorm中收到任何消息(例如事件日志中的“调试Seision finished without beep Pause”(完成而未暂停)?打开文件|设置|语言与框架| PHP |服务器并删除您拥有的所有服务器配置(如果您觉得合适的话)。然后再次开始调试-PhpStorm应该会提示您一个有关传入调试连接的窗口和配置路径映射的选项-请检查路径映射是否正确。我经历了几次路径映射过程,包括删除服务器配置,但没有解决此问题。我还找到了PhpStorm调试日志界面,并将该信息添加到问题中。谢谢谢谢我已经试过对此进行评论。这并没有解决这种行为。无论采用哪种方式,Xdebug似乎希望连接到10.0.2.2上的主机系统,但PhpStorm报告该连接源自127.0.0.1。谢谢你的xdebug.ini链接,我将对此进行调查和其他回复!谢谢,也谢谢你通过这个问题纠正PhpStorm的资本化。我很快就会试试这个!这把它修好了。我非常感谢你抽出时间回答这个问题。你能给我一个在PhpStorm网站上找到这些信息的地方的参考吗?我只是查看了(2018年11月发布的2018.3版)注释,没有发现任何关于Xdebug支持更改的参考。请检查,否则将不胜感激!我很高兴看到它在这个虚拟机上工作。
[8264] <- run -i 14
xdebug.remote_connect_back=1