PHP - IP地址回显为127.0.0.1

时间:2012-05-13 11:32:55

标签: php ip

我是PHP的新手。

我想在我的网页上显示使用HotSpot盾牌时,我(我自己,仅修改了HotSpot盾牌网页的主机文件)的IP地址,但不幸的是,它被回复为127.0.0.1 。主要目标是当我连接时,我设置的IP地址在页面上回显。这就是我用过的代码:

<?php $rmt = $_SERVER["REMOTE_ADDR"]; echo "$rmt \n" ?>

唯一的问题是$ rmt是127.0.0.1。你们中的任何人都知道如何让它显示要显示的公共IP地址吗?

3 个答案:

答案 0 :(得分:4)

本地代理服务器可能会发生这种情况;您可以var_dump($_SERVER);查看与您的请求一起发送的其他标头,并搜索X-Forwarded-ForX-Real-IP

等内容

答案 1 :(得分:1)

$_SERVER['REMOTE_ADDR']指的是您所连接的IP地址。如果您在本地计算机上运行服务器并从本地计算机连接,它将使用您的本地IP(127.0.0.1始终为“localhost”)。

为了显示不同的IP,您需要在另一台服务器(最好是公共网络酒店服务器)上运行它,或者从另一台机器连接到您的服务器。

答案 2 :(得分:1)

我有同样的问题。 事实证明,我得到的是代理IP地址而不是我自己的IP。 所以我跑了:

var_dump($_SERVER) 
//you could also use print_r($_SERVER);

然后找了这样的东西:

 ["HTTP_X_REAL_IP"]

然后把它捕获到这样的var中:

$ip = getenv('HTTP_X_REAL_IP')