PHP:获取真实的IP地址


PHP : get real IP address

我正在尝试用PHP获取我的真实IP地址,无论是在localhost还是在服务器中。我不想要网络服务器的IP地址,如localhost或127.0.0.1,而是我的机器的IP地址(例如icanhazip.com显示的地址)。我找到的唯一解决方案是让icanhazip.com这样的网站显示IP。有更好的解决方案吗?

谢谢!

php喜欢你家里的狗,它不知道房子在哪个城市。所以,你必须依靠第三方网站来识别你的ip地址。

我还没有得到您的环境,但您可以尝试:

$host = gethostname();
$ip   = gethostbyname($host);

在PHP 5.3及更高版本中。让我们知道会发生什么,它可能不起作用。

另一种方法是使用另一台你自己的服务器,并询问它你的IP地址是什么

或者你可以(在linux上)对一个域进行跟踪,然后从那里开始工作:

exec('traceroute example.com 2>&1', $out, $code);
if ($code) die("Error: ".join("'n", $out);
print_r($out);

我相信还有其他办法。