【问题标题】:My IP address is not displaying correctly in PHP [closed]我的 IP 地址在 PHP 中没有正确显示 [关闭]
【发布时间】:2012-12-16 16:12:38
【问题描述】:

我通过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地址获取国家/地区?

【问题讨论】:

  • 你知道 127.0.0.1 是什么吗?将其弹出到您选择的搜索引擎中并获得启发。
  • 我猜你正在运行本地服务器。 localhost = 127.0.0.1
  • 我不知道这个。但我认为这是我的电脑地址
  • 是的,我正在运行本地服务器
  • @FarazKhan,这就是原因。 REMOTE_ADDR 是连接 IP 地址,如果您从同一台计算机本地连接,它将与服务器的 IP 相同,在这种情况下为环回地址。

标签: php get ip ip-address


【解决方案1】:

原因:

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

解决方案:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2015-07-26
        • 1970-01-01
        • 2014-11-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-21
        • 1970-01-01
        相关资源
        最近更新 更多