Xdebug 与 docker 工作正常,除非我使用 PHPUnit 运行测试

问题描述 投票:0回答:1

我在 docker 上运行此 API,并使用此 Xdebug 配置:

一切正常,除了使用 PhpStorm 中的播放按钮调试测试之外,当我尝试调试测试时,结果如下:

或者如果我单击调试按钮而不是播放按钮:

PhpStorm 设置中的 PHPUnit 和服务器配置工作正常,我认为此配置是正确的。

有人可以帮我吗?

我尝试将

PHP_IDE_CONFIG
标签添加到我的 php.ini 中,但可能添加了错误的值。

php docker debugging phpunit xdebug
1个回答
0
投票

我已经在 VSCode 环境中成功配置了此设置,尽管我不确定 PHPStorm 中的过程。由于某种原因,就我而言,PHPUnit 没有按预期更新内联 ini 配置。为了解决这个问题,我执行了以下命令,将 PHPUnit 可执行文件封装在 PHP 运行时中:

docker exec -u akhatri -it eb1986e30bcc /bin/bash -c "cd $(pwd); php -d xdebug.client_host=host.docker.internal -d xdebug.mode=debug -d xdebug.start_with_request=yes ./vendor/bin/phpunit tests/Feature/UserPermissionTest.php"

这种方法对我来说成功地适用于以下版本:

  • VS代码:1.84.2
  • PHP 单元:10.3.4
  • x调试:3
  • PHP:8.2
  • 运行 Ubuntu Focal (20.04) 的 Docker 容器
© www.soinside.com 2019 - 2024. All rights reserved.