PhpStorm - 无法接受外部Xdebug连接

时间:2017-12-20 19:09:55

标签: php debugging phpstorm xdebug codeception

我在使用Codeception在PhpStorm中为我的应用程序运行测试时遇到错误。我的代码正在通过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设置中,我将其设置为接受外部连接:

enter image description here

在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错误并运行测试?

2 个答案:

答案 0 :(得分:4)

我能够通过将远程端口更改为未使用的端口(例如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设置中更新:

enter image description here

答案 1 :(得分:0)

就我而言,(使用Symfony框架和PhpStorm)与我必须清理的某些缓存有关!我花了2个小时才弄清,因为我已经配置并正确设置了所有内容,但仍无法启动事件。

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