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

时间:2019-04-25 21:49:25

标签: php xdebug

我正在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设置的任何想法?

1 个答案:

答案 0 :(得分: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变量。