我的IP地址在PHP中没有正确显示


My IP address is not displaying correctly in PHP

我通过http://whatismyipaddress.com/网站检查我的IP地址。它显示我的IP地址,如203.128.31.58。但当我通过PHP代码

获取IP地址时
echo $ip = $_SERVER['REMOTE_ADDR']; 

显示IP地址,如127.0.0.1。我如何获得像203.128.31.58这样的IP地址,并通过这个IP地址获得国家?

当您将代码上传到活动服务器并获取IP地址时,它将显示您的公共IP地址。

当你在本地运行时,它总是显示127.0.0.1

MaxMind提供了一个免费的PHP GeoIP国家查找类(也有一个免费的国家+城市查找类)。

这是因为它显示了您的本地主机IP地址。PHP位于服务器端,因此,代码在您的机器(本地主机)上运行,因此显示IP地址127.0.0.1,localhost.

原因:

显示127.0.0.1,正如其他人所说,因为您正在通过http://localhost打开网站。

解决方案:

如果你有一些自定义域,链接一个子域(如test.custom.com)到你的IP地址,并配置网络服务器链接你的页面/目录到这个域(test.custom.com> /usr/local/www/site)。然后通过这个域名(http://test.custom.com)访问网站。您的IP地址将是外部的