Php 我使用filter\u输入的方式有什么问题?

Php 我使用filter\u输入的方式有什么问题?,php,Php,我被告知应该使用filter\u输入,而不是直接访问$\u服务器 所以我做了这2行简单的代码 echo "filter:input " . filter_input(INPUT_SERVER,'REMOTE_ADDR'); echo "SERVER:" .$_SERVER['REMOTE_ADDR'] ; 很简单。我想他们生产的东西完全一样 这就是我得到的 过滤器:输入服务器:202.80.212.17 显然,“远程地址”会生成空字符串 为什么?在旧版本的php中,这是一个b

我被告知应该使用filter\u输入,而不是直接访问$\u服务器

所以我做了这2行简单的代码

    echo "filter:input " . filter_input(INPUT_SERVER,'REMOTE_ADDR');
    echo "SERVER:" .$_SERVER['REMOTE_ADDR'] ; 
很简单。我想他们生产的东西完全一样

这就是我得到的

过滤器:输入服务器:202.80.212.17

显然,“远程地址”会生成空字符串


为什么?

在旧版本的php中,这是一个bug。你可以使用

echo "filter:input " . filter_input(INPUT_ENV, 'REMOTE_ADDR', FILTER_VALIDATE_IP);
或使用

echo "filter:input " . filter_input($_SERVER['REMOTE_ADDR']);

您使用的是哪个php版本?同时,您可以始终使用filter\u input$\u SERVER['REMOTE\u ADDR']来实现相同的功能。编辑:这是相关的重复或否此问题的答案只是令人敬畏的Jim Thio再次罢工lol。通过不看问题是否已得到回答来显示对堆栈的蔑视,然后对标记为重复的问题发布一个who care响应。filter\u input\u ENV在我的调试环境中不起作用。它至少应该显示::1。我想我回到远程地址了