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

问题描述 投票:0回答:1

我在Docker容器中运行php-fpm。在我的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设置如何或在哪里被覆盖的任何想法?

php xdebug
1个回答
0
投票

我接受了@ LazyOne的建议并浏览了我的docker-compose.yml文件,发现:

XDEBUG_CONFIG=remote_port=9002

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

XDEBUG_CONFIG=remote_port=9002 remote_host=10.55.6.26

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

所以看来php.ini文件被忽略而不利于XDEBUG_CONFIG变量。

© www.soinside.com 2019 - 2024. All rights reserved.