为什么 $_SERVER['REMOTE_ADDR'] 在本地环境中的值为“127.0.0.1”?

Ema*_*sev 0 php

该值不应该与请求脚本的计算机的 IP 匹配,而不管它是托管脚本的同一台计算机吗?

Mad*_*ost 8

因为当你在本地运行 PHP 时,你发出的每个请求都来自你的机器,它恰好有一个远程(或者在这种情况下,本地)地址......等待...... 127.0.0.1 (== localhost) .

详细说明:让我们假设您没有互联网连接,什么也没有,没有 WiFi,没有电缆。本地连接仍然有效。为什么?因为本地事务需要互联网连接是愚蠢的。相反,连接来自服务器本身,这意味着,您将看到或作为远程地址,因为这是服务器的远程地址,相对于服务器而言。localhost127.0.0.1