我通过http://whatismyipaddress.com/网站检查我的IP地址。它显示我的IP地址,如203.128.31.58
。但当我通过PHP代码
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地址将是外部的