我通过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 地址获取国家/地区?
我通过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 地址获取国家/地区?
那是因为它显示了您的本地主机 IP 地址。PHP 是服务器端,因此代码在您的机器(localhost)上运行,因此显示 IP 地址 127.0.0.1,localhost。
当您将代码上传到实时服务器并获取 IP 地址时,它将显示您的公共 IP 地址。
当你在本地运行它时,它总是显示127.0.0.1
.
MaxMind提供了一个免费的 PHP GeoIP 国家查询类(也有一个免费的国家+城市查询类)。
原因:
正如其他人所说,它表明127.0.0.1
,因为您正在通过http://localhost
.
解决方案:
如果您有一些自定义域,请将一个子域(如test.custom.com
)链接到您的 IP 地址,并配置网络服务器以将您的页面/目录链接到该域(test.custom.com
> /usr/local/www/site
)。然后通过此域 ( http://test.custom.com
) 访问该网站。您的 IP 地址将是外部的。