gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 15:23:38 25 4
gpt4 key购买 nike

我有一个带有 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

PHP 变量来自 phpinfo() :

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

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

enter image description here

您还可以在需要时检查以下文件:
  • Dockerfile.development
  • docker-compose.yml
  • environment.development
  • php.ini

  • 任何帮助都感激不尽!

    更新:

    似乎如果我添加
    environment:
    XDEBUG_CONFIG: "remote_host=192.168.1.110"
    PHP_IDE_CONFIG: "serverName=docker-server"

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

    因为我有:
    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 之前就已经设置了这些 Env 变量。属性(property)到我的 php服务,为什么只有在我设置了 environment 时才会触发 xdebug属性(property)?对我来说,在两个地方都有它感觉就像是重复,我更喜欢把它放在里面 ./etc/environment.development.yml而不是 docker-compose.yml .

    最佳答案

    再挖了几下,

    我看到了以下区别:

    当我使用 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

    现在它工作正常:)

    我填了一个 bug report在 PhpStorm youtrack 中。

    关于phpstorm - 无法解析外部 Xdebug 连接的服务器名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50155844/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com