为什么我的 xdebug.remote_host 与 php.ini 中声明的值不同?

Why is my xdebug.remote_host different from the value declared in php.ini?

我运行宁php-fpm在Docker容器中。在我的 php.ini 文件中,我有 xdebug.remote_host=10.100.9.87.

当我运行php -i|grep remote_host时,我得到xdebug.remote_host => 10.100.9.87 => 10.100.9.87

我可以从 CLI 运行 php test.php,它会在我的 IDE.

中触发调试器

但是,当我使用 phpinfo() 创建文件并通过 nginx 执行它时,remote_host 的值对于本地值和主值都列为 192.168.0.16 .那个IP没有机器,不知道那个IP是从哪里来的

我已经仔细检查过我正在编辑正确的 php.ini 文件,并且我已经 运行 grep 对所有加载的配置文件进行了检查,以确保我是不覆盖任何地方的价值。

我没有在本地配置或 docker 配置中的任何地方使用 192.168.0.0/24 子网。我不知道 192.168.0.16 值来自哪里。我的容器中有 运行 find / -exec grep "192.168.0" {} \; -print 2>/dev/null,除了 xdebug 日志表明连接失败,它什么也没有。

关于如何或在何处覆盖我的 xdebug.remote_host 设置有什么想法吗?

我听取了@LazyOne 的建议并查看了我的 docker-compose.yml 文件并发现:

XDEBUG_CONFIG=remote_port=9002

我可以修改此设置以更改 phpinfo() 报告的本地值。我将 remote_host 添加到该变量声明中:

XDEBUG_CONFIG=remote_port=9002 remote_host=10.55.6.26

现在我可以通过网络请求连接到我的 IDE。

所以 php.ini 文件似乎被忽略了 XDEBUG_CONFIG 变量。