我想知道是否可以在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