无法解析外部Xdebug连接的服务器名称

时间:2018-05-03 13:06:25

标签: phpstorm xdebug

我有一个带有xdebug的Docker容器,当我运行脚本时,我需要形成我从PhpStorm收到的Docker容器,消息如下:

Cannot parse server name for external Xdebug connection.
To fix it create environment variable PHP_IDE_CONFIG on the remote server.
Windows: set PHP_IDE_CONFIG="serverName=SomeName"
Linux / Mac OS X: export PHP_IDE_CONFIG="serverName=SomeName".

但我已经设置了这些环境变量,如下面的屏幕截图所示:

enter image description here

xdebug.log

以下是我phpinfo()的xdebug部分: enter image description here enter image description here

这些是我对PhpStorm的设置:

enter image description here

enter image description here

来自phpinfo()的环境:

enter image description here

来自phpinfo()的PHP变量:

enter image description here enter image description here enter image description here

我还尝试使用和不使用引号来export env变量,但结果是相同的......

引用:

XDEBUG_CONFIG="remote_host=192.168.1.110"
PHP_IDE_CONFIG="serverName=docker-server"

没有引号:

XDEBUG_CONFIG=remote_host=192.168.1.110
PHP_IDE_CONFIG=serverName=docker-server

来自我的MacOS的ifconfig en1 inet命令的结果我正在运行Docker和PhpStorm

enter image description here

您还可以根据需要检查以下文件:

非常感谢任何帮助!

更新

似乎我添加了

environment:
  XDEBUG_CONFIG: "remote_host=192.168.1.110"
  PHP_IDE_CONFIG: "serverName=docker-server"

进入位于docker-compose.yml内的php服务,它解决了这个问题,但给我留下了一个大问题。

因为我有:

env_file:
  - ./etc/environment.yml
  - ./etc/environment.development.yml

./etc/environment.development.yml里面我有:

XDEBUG_CONFIG="remote_host=192.168.1.110"
PHP_IDE_CONFIG="serverName=docker-server"

因为它没有被忽略,我可以看到,即使在我将environment属性添加到php服务之前,也设置了这些Env变量,为什么xdebug仅在我设置{{{ 1}}属性?我觉得在两个地方都有重复,我更喜欢将它放在environment而不是./etc/environment.development.yml内。

1 个答案:

答案 0 :(得分:6)

经过多次挖掘后,

我看到了以下不同之处:

当我使用env_file指令时,我的environment.development文件中包含以下内容:

XDEBUG_CONFIG="remote_host=192.168.1.110"
PHP_IDE_CONFIG="serverName=docker-server"

导致: enter image description here

注意值的双引号。

当我删除env_file指令并输入以下内容时:

environment:
  XDEBUG_CONFIG: "remote_host=192.168.1.110"
  PHP_IDE_CONFIG: "serverName=docker-server"

然后我在phpinfo()中有这个: enter image description here

所以最后我做了什么,我删除了environment指令并放回env_file指令并在environment.development文件里面我删除了值周围的双引号,所以现在它看起来像那样:

XDEBUG_CONFIG=remote_host=192.168.1.110
PHP_IDE_CONFIG=serverName=docker-server

现在它工作正常:)

我在PhpStorm中填写了bug report