2

我通过http://whatismyipaddress.com/网站查看我的 IP 地址。它显示我的 IP 地址,如203.128.31.58. 但是当我使用这个 PHP 代码获取 IP 地址时

echo $ip = $_SERVER['REMOTE_ADDR']; 

它显示 IP 地址,如 127.0.0.1。如何获取 IP 地址203.128.31.58并通过此 IP 地址获取国家/地区?

4

3 回答 3

0

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

于 2013-01-02T09:33:37.863 回答
0

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

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

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

于 2013-01-02T09:33:58.210 回答
0

原因:

正如其他人所说,它表明127.0.0.1,因为您正在通过http://localhost.

解决方案:

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

于 2013-01-02T09:44:28.020 回答