在localhost服务器中获取我的IP


Get my IP in localhost server

我想知道是否可以在localhost中获得自己的IP。

我试过使用$_SERVER["REMOTE_ADDR"],但它显示127.0.0.1,我不想得到它,我只想得到我自己的IP,而不是127.0.0.1,如果我使用其他计算机并通过同一互联网连接到我的localhost网站,它会起作用。。它给了我他们应该得到的真实ip地址,但对我来说,host[er]我得到了127.0.0.1。我想在本地主机服务器上测试它。

让我来解释一下:

例如,我的IP是11.77.662.88,我连接到我的站点,它显示我的IP,我希望它显示11.77.662.88而不是127.0.0.1

也就是说,我尝试了很多方法,不仅是$_SERVER["REMOTE_ADDR"],而且所有的方法都给了我相同的结果。

我只想在将其发布到托管服务器之前,确保localhost服务器中的一切正常。。我找了很多,但没有找到满足我需求的最佳答案。。我仍在搜索,希望有人能帮我,因为我找不到正确的答案+我知道我有多个IP地址,但我如何才能找到其中一个?我知道127.0.0.1是我自己的IP,但我如何才能获得IP Chicken中的IP?例如,正如我所说,我的IP是11.77.662.88,我想得到它,但如何获得?

Bitnami Developer here,

嗨,你可以试试$_SERVER['HTTP_HOST']。它是从HTTP请求头中获得的,并返回服务器的IP地址。

已搜索,但从未找到正确答案。。

@佩特卡说

如果有效,你为什么要问?此外,localhost就是这样。这就像在你已经回家的时候回家:你会走到前面的草坪上,回头,然后回到房子里吗?我认为没有。你的计算机也没有:如果客户端和服务器是同一台机器,它将使用较短的路径。当目标是自己时,它不会遇到真正上网的额外麻烦。。。是时候了解网络堆栈的工作原理了。

他/她有道理,我认为这是对的。。最后,您只需要获得一个free主机进行测试。。但对我来说,free托管没有多大作用,因为有一些功能被禁用了,总的来说,我认为我可以在网站上放置$myIp来伪造我的ip,直到我把一切都做好为止D

感谢您的帮助

编辑

在localhost上获取IP地址的另一种方法是使用诸如ipify之类的api。当你真正需要它时使用它真的很有帮助,因为每个免费的web托管块exec()和php的一些其他函数/类,这就是我避免免费web托管的主要原因

PHP<5.3.0

$localIP = getHostByName(php_uname('n'));

PHP>=5.3.0

$localIP = getHostByName(getHostName());

来自bro@andras tim