我希望这里有人可以帮助我解决我的问题:
我最近进入了我的第一个 PHP 项目,需要设置调试。我知道很多人在我面前遇到过同样的问题,但我很难找到解决方案。
我需要使用 Xdebug 设置 PhpStorm,所有设置仍然无法正常工作,当我开始我的调试 session 时,我卡在了这里,没有更多信息:
这是我的项目设置:
带有 Xdebug 的 Docker Web 应用程序:0.0.0.0:80->80/tcp,0.0.0.0:443->443/tcp
PhpStorm PHP 调试设置:
来自 phpinfo()
的 Xdebug 设置:
在 PhpStorm 中监听调试连接已开启,启动调试 session 通过 GET 创建 session :https://localhost/?XDEBUG_SESSION_START=16957
但我的所有断点都被忽略了。
为了获取更多信息,我运行了 netstat
:
谁能告诉我这里缺少什么?
非常感谢您!
最佳答案
- 不要使用运行/调试配置进行网络调试,这会适得其反。您可以使用 zero-configuration debugging 直接从浏览器启动调试连接.
- 禁用
xdebug.remote_connect_back
,弊大于利,尤其是对于 Docker。
当您使用 Docker 时, xdebug.remote_host
不应该是localhost
,这样,容器会尝试将调试数据发送给自己而不是主机机器。看来您使用的是 macOS 和适用于 Mac 的 Docker,在这种情况下,正确的主机名应该是host.docker.internal
。- 如果您从浏览器启动调试 session 后 PhpStorm 仍然无法捕获连接,我们将需要按照@LazyOne 的建议查看 Xdebug 日志。
在 PhpStorm 基础知识中展示 Docker 的博客文章:https://blog.jetbrains.com/phpstorm/2018/08/quickstart-with-docker-in-phpstorm/
关于php - 如何连接 PhpStorm 和 Xdebug,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62203607/