【发布时间】:2017-02-08 15:34:09
【问题描述】:
我在 Ubuntu 16.04 上运行 PhpStorm 并尝试将 Xdebug 配置为与 Docker 一起使用。我遵循了这个指南:
Zero-configuration Web Application Debugging with Xdebug and PhpStorm
这是我做的步骤:
下载JetBrains提供的Docker Xdebug项目源码
编辑 Xdebug 远程主机:
配置 DBGp 代理(在 Language & Framework => PHP => Xdebug 下)如下:
编辑运行/调试配置
为 Docker 编辑 构建、执行、部署
启动 Docker
启用监听 Xdebug 连接
检查 Xdebug 信息
但不知何故,我无法启动 Xdebug 按钮(如上图所示)。
我做错了什么?
【问题讨论】:
-
好吧..你已经启动了 Docker 容器。现在您需要启动您的 Web 应用程序并告诉 xdebug 您要调试它。这可以通过特定的 [bookmarklet](jetbrains.com/phpstorm/marklets) 或通过浏览器的 xdebug 扩展来完成——它们中的任何一个都会设置 xdebug cookie .. 所以当您重新加载页面时(或单击该页面上的任何其他链接/按钮因此它会加载其他 URL)它会将该 cookie 发送到 xdebug。
-
P.S.我不确定是否需要在 docker 中映射 9000 端口,因为它是 xdebug 连接到 PhpStorm 而不是其他方式。您还可以启用收集 xdebug 日志以查看 xdebug 方面的情况:xdebug.org/docs/all_settings#remote_log
-
尝试将查询参数“XDEBUG_SESSION_START=PHPSTORM”添加到 URL 但不起作用。另外,我什至可以点击调试按钮。
-
您不能单击调试按钮(根据您从上一个屏幕截图中的第二个),因为它仅用于启动 Docker(通常可以与任何技术一起使用:PHP、Ruby、Python、Java 等)。对于 PHP 调试,您可以创建和使用“Web App”类型的配置(在 Docker 启动后使用)或通过书签/扩展(如 PhpStorm 网站的原始手册建议)。
-
您也可以只使用
xdebug.remote_autostart = on告诉xdebug 它需要调试每个请求(以防您无法通过xdebug cookie/query 参数使其工作)。
标签: phpstorm