PhpStorm无法启动Xdebug(使用Docker)

PhpStorm无法启动Xdebug(使用Docker),phpstorm,Phpstorm,我正在Ubuntu 16.04上运行PhpStorm,并试图配置Xdebug与Docker一起工作。我遵循了这个指南: 以下是我所做的步骤: 下载JetBrains提供的Docker Xdebug项目源代码 编辑Xdebug远程主机: 在Language&Framework=>PHP=>Xdebug下配置DBGp代理,如下所示: 编辑运行/调试配置 编辑Docker的构建、执行和部署 启动码头工人 启用侦听Xdebug连接 检查Xdebug信息 但不知何故,我无法启动Xdebug按钮,如上图所示

我正在Ubuntu 16.04上运行PhpStorm,并试图配置Xdebug与Docker一起工作。我遵循了这个指南:

以下是我所做的步骤:

下载JetBrains提供的Docker Xdebug项目源代码

编辑Xdebug远程主机:

在Language&Framework=>PHP=>Xdebug下配置DBGp代理,如下所示:

编辑运行/调试配置

编辑Docker的构建、执行和部署

启动码头工人

启用侦听Xdebug连接

检查Xdebug信息

但不知何故,我无法启动Xdebug按钮,如上图所示


我做错了什么?

docker容器无法访问主机上的端口9000。通过运行以下命令,我修复了该问题:

# iptables -I INPUT -p tcp -m tcp --dport 9000 -j ACCEPT

docker容器无法访问主机上的端口9000。通过运行以下命令,我修复了该问题:

# iptables -I INPUT -p tcp -m tcp --dport 9000 -j ACCEPT

好您已启动Docker容器。现在,您需要启动web应用程序并告诉xdebug您想要调试它。这可以通过特定的[bookmarklet]或通过浏览器的xdebug扩展来完成-它们中的任何一个都将设置xdebug cookie。。因此,当您重新加载页面或单击该页面上的任何其他链接/按钮时,它将加载其他URL,并将该cookie发送到xdebug.P.S。我不确定是否需要在docker中映射9000端口,因为xdebug连接到PhpStorm,而不是其他方式。您还可以启用收集xdebug日志以查看xdebug端的情况:尝试将查询参数xdebug_SESSION_START=PHPSTORM添加到URL,但不起作用。另外,我甚至可以点击调试按钮。你不能像上次截图中的第二个那样点击调试按钮,因为这是为了启动Docker,Docker通常可以用于任何技术:PHP、Ruby、Python、Java等。对于PHP调试,您可以创建和使用Web应用类型的配置,在Docker启动后使用它,或者像PhpStorm站点的原始手册建议的那样,通过bookmarklet/extension使用它。您也可以使用xdebug.remote_autostart=on告诉xdebug,如果您无法通过xdebug使其工作,它需要调试每个请求cookie/查询参数。嗯。。您已启动Docker容器。现在,您需要启动web应用程序并告诉xdebug您想要调试它。这可以通过特定的[bookmarklet]或通过浏览器的xdebug扩展来完成-它们中的任何一个都将设置xdebug cookie。。因此,当您重新加载页面或单击该页面上的任何其他链接/按钮时,它将加载其他URL,并将该cookie发送到xdebug.P.S。我不确定是否需要在docker中映射9000端口,因为xdebug连接到PhpStorm,而不是其他方式。您还可以启用收集xdebug日志以查看xdebug端的情况:尝试将查询参数xdebug_SESSION_START=PHPSTORM添加到URL,但不起作用。另外,我甚至可以点击调试按钮。你不能像上次截图中的第二个那样点击调试按钮,因为这是为了启动Docker,Docker通常可以用于任何技术:PHP、Ruby、Python、Java等。对于PHP调试,您可以创建和使用Web应用类型的配置,在Docker启动后使用它,或者像PhpStorm站点的原始手册建议的那样,通过bookmarklet/extension使用它。您也可以使用xdebug.remote_autostart=on告诉xdebug,如果您无法通过xdebug使其工作,它需要调试每个请求cookie/查询参数。谢谢,为我节省了几个小时:不过我最终还是改用了ufw——sudo ufw allow 9000/tcp注释“xdebug”谢谢,节省了我几个小时的时间:但我最终使用了ufw——sudoUFW允许9000/tcp注释'xdebug'