当我从命令行 运行 时,为什么我不能使用 XDebug 单步执行 PHPunit 测试?

Why can't I step through PHPunit tests with XDebug when I run them from the command line?

PHP、XDebug 和我的 IDE (PhpStorm) 都已正确配置。 PhpStorm 正在监听,它正在启动调试会话,但它从未在我的单元测试 class 中遇到断点,我无法单步执行它。整个测试运行。

有人有什么想法吗?

我可以使用 XDebug 毫无问题地进入 PHPUnit 测试。但是,我确实注意到它有时似乎会跳过某些语句(例如简单地为函数中的变量赋值而没有其他任何内容),因此在周围散布一些断点。

确保您已正确设置路径映射,并映射了正确版本的库。

如果您从命令行使用 XDebug,则必须设置某些环境变量 - 请参阅 here and here

在我的例子中,需要在远程框中设置以下环境变量,并从远程框中设置 运行。 10.0.2.2 适用于 Virtualbox 虚拟机 - 基本上您需要指向您的本地计算机。

export XDEBUG_CONFIG="idekey=PHPSTORM remote_host=10.0.2.2 remote_port=9000"
export PHP_IDE_CONFIG="serverName=[yourservernamehere]"