【问题标题】:What is inside $_SERVER['REMOTE_ADDR'], if nginx fastcgi_param REMOTE_ADDR is not set?如果没有设置 nginx fastcgi_param REMOTE_ADDR,$_SERVER['REMOTE_ADDR'] 里面是什么?
【发布时间】:2017-09-07 13:46:58
【问题描述】:

如果根本没有设置 nginx fastcgi_param REMOTE_ADDR,php 的 $_SERVER['REMOTE_ADDR'] 里面是什么? 我有两台服务器的不同行为,使用 nginx 和 php-fpm。两者的配置完全相同。但是一个总是返回带有新 ip 值的 $_SERVER['REMOTE_ADDR'],而另一个什么都没有,正如预期的那样,nginx 的 fastcgi_param.conf 文件中没有 REMOTE_ADDR 指令。 我没有包含其他配置,但只有

fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
fastcgi_param  QUERY_STRING       $query_string;

就是这样。但是 php 的 $_SERVER['REMOTE_ADDR'] 一直都有新的价值。

【问题讨论】:

  • 我不确定您要问什么,但$_SERVER['REMOTE_ADDR'] 通常是发出请求的服务器/系统/计算机的地址,而不是您的网络服务器。

标签: php nginx


【解决方案1】:

答案是:fastcgi_param.conf 文件不为空,有 REMOTE_ADDR 指令。原因是在 php 代码中,而不是在 nginx 中。

附:在 Unix 中再见是个坏主意。请记住,如果您不在 sudo 中并且使用 vim,您会看到任何根拥有的文件为空。

【讨论】:

    猜你喜欢
    • 2012-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-19
    • 1970-01-01
    • 2012-09-23
    • 1970-01-01
    • 2021-03-12
    • 2013-10-19
    相关资源
    最近更新 更多