PhpStorm - 无法接受外部 Xdebug 连接

PhpStorm - Cannot accept external Xdebug connection

我在使用 Codeception 在 PhpStorm 中对我的应用程序进行测试时遇到错误 运行。我的代码是 运行ning 通过 Vagrant。

在我的 index.php 的 Codeception 测试的第一行是:

ini_set('xdebug.max_nesting_level', 200);

我通过自制软件安装了 xdebug,它在我的 php 版本输出中:

PHP 7.1.12 (cli) (built: Dec  2 2017 12:15:25) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.1.0, Copyright (c) 1998-2017 Zend Technologies
with Xdebug v2.5.5, Copyright (c) 2002-2017, by Derick Rethans   

当我 运行 测试时,虽然我在 PhpStorm 事件日志中收到错误:

Cannot accept external Xdebug connection: Cannot evaluate expression 'isset($_SERVER['PHP_IDE_CONFIG'])'

在我的 PhpStorm 设置中,我将其设置为接受外部连接:

并且在 php 信息中我有可用的 xdebug 设置:

$ php -i | grep xdebug                 
Additional .ini files parsed => /usr/local/etc/php/7.1/conf.d/ext-xdebug.ini
xdebug
xdebug support => enabled
xdebug.auto_trace => Off => Off
xdebug.cli_color => 0 => 0
xdebug.collect_assignments => Off => Off
xdebug.collect_includes => On => On
...
xdebug.remote_connect_back => On => On

/usr/local/etc/php/7.1/conf.d/ext-xdebug.ini中我根据this thread设置了xdebug.remote_connect_back=1.

我怎样才能消除 Cannot accept external Xdebug connection 错误和 运行 测试?

我可以通过将远程端口更改为未使用的端口(例如 9898)来解决此问题:

[xdebug]
zend_extension="/usr/local/opt/php71-xdebug/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_connect_back=1
xdebug.idekey="PHPSTORM"
xdebug.remote_port = 9898

然后在 PhpStorm 设置中更新:

在我的例子中,(使用 Symfony 框架和 PhpStorm)它只是与我必须清理的一些缓存有关!我花了 2 个小时才弄明白,因为我已经配置并正确设置了所有内容,但事件仍然没有启动。

因此,当您遇到像这样毫无头绪的问题时,请始终清除现金:如果它不起作用,则继续执行其他步骤以调试问题的根源。