如何使用 Xdebug 连接 PhpStorm

Chr*_*ris 3 php xdebug phpstorm

我希望这里有人可以帮助我解决我的问题:

我最近进入了我的第一个 PHP 项目,需要设置调试。我知道很多人在我之前也遇到过同样的问题,但我很难找到解决方案。

我需要使用 Xdebug 设置 PhpStorm 并且所有设置仍然无法正常工作,当我开始调试会话时,我陷入困境,没有更多信息:

在此处输入图片说明

这是我的项目设置:

带有 Xdebug 的 Docker Webapp:0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp

PhpStorm PHP 调试设置:

在此处输入图片说明 在此处输入图片说明 在此处输入图片说明

Xdebug 设置来自phpinfo()

在此处输入图片说明

在 PhpStorm 中侦听调试连接已开启,启动调试会话通过 GET 创建会话:https://localhost/?XDEBUG_SESSION_START=16957但我所有的断点都被忽略。

试图获得更多信息我跑了netstat

在此处输入图片说明

谁能告诉我我在这里缺少什么?

非常感谢您提前!

Eug*_*zov 6

  1. 不要将运行/调试配置用于 Web 调试,这会适得其反。您可以使用零配置调试直接从浏览器启动调试连接。
  2. 禁用xdebug.remote_connect_back,它带来的弊大于利,尤其是对于 Docker。
  3. xdebug.remote_hostlocalhost当您使用 Docker 时不应该是这样,这样,容器会尝试将调试数据发送给自己而不是主机。似乎您使用的是 macOS 和 Docker for Mac,正确的主机名应该是host.docker.internal这种情况。
  4. 如果从浏览器启动调试会话后 PhpStorm 仍然无法捕获连接,我们需要按照@LazyOne 的建议查看 Xdebug 日志。

一篇在 PhpStorm 基础知识中展示 Docker 的博客文章:https ://blog.jetbrains.com/phpstorm/2018/08/quickstart-with-docker-in-phpstorm/