PhpStorm - Xdebug 问题:无法在测试文件上本地找到文件“/project_path/Standard input code”

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

我正在努力让 Xdebug 在 PhpStorm 2020 上的 PHP 测试文件中工作。

我需要调试一些测试类以及 Xdebug 扩展,但我总是得到这个:

Cannot find file '/project_path/Standard input code' locally.
To fix it set server name by environment variable PHP_IDE_CONFIG and restart debug session.

我尝试了在网上找到的所有方法来修复它,但在我的情况下似乎没有任何效果。

我尝试将

PHP_IDE_CONFIG
设置为环境变量并设置为
localhost
,还在 IDE 中添加 localhost 服务器,但仍然没有任何效果。我的同事无需进行任何特定配置即可让 Xdebug 在他们的 IDE 中工作。

“正常”PHP 文件可以工作,我仅在测试文件上遇到此问题。

有什么想法吗?

phpstorm xdebug atoum
2个回答
19
投票

Xdebug 看到这个伪造文件

Standard input code
并向我们发送它的调试数据。由于我们不知道将其映射到哪里,因此我们会向您显示错误消息。
您可以通过手动配置
PHP | Servers
映射,然后取消选中
PHP | Debug | Break at first line when no mapping specified
来解决该问题。


0
投票

对于任何遇到这种情况的人来说,根本问题是 PHPUnit 通过创建一些内存中的 PHP 代码来为每个测试打开一个子进程,这些代码被发送到该进程的标准输入。

因此,如果您想调试测试,请确保在 phpunit.xml 中将“processIsolation”设置为“false”。这样 PHPUnit 就不会创建子进程,并且 xdebug 也不会陷入困境。

<phpunit
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="https://schema.phpunit.de/9.5/phpunit.xsd"
         processIsolation="false"
>
© www.soinside.com 2019 - 2024. All rights reserved.