我的IP是错误的显示PHP家庭服务器了(My IP is showing up wrong in P

2019-09-20 19:52发布

好了够简单

<?PHP
echo $_SERVER[REMOTE_ADDR];
?>

好吧,也许不是,我在我的IP是目前72.184.212.85但是上述里面我是用一个IP一个脚本拦截系统中的代码显示了我的IP为127.0.0.1的家中的服务器IP

所以,当我去我的剧本我的IP显示为127.0.0.1,但是当我去其他网站则显示为72.184.212.85

我怎样才能获得的第一个值,以显示我的测试服务器上?

Answer 1:

$_SERVER['REMOTE_ADDR']将始终显示发出请求附带的IP地址。 如果你自己的内部网络访问自己的电脑上自己的脚本,你的外部IP地址从来没有用武之地。 该请求将不得不离开你的本地网络,然后回来为外部地址露面,但如果它的所有地方,也永远不会发生。



Answer 2:

你必须让你的服务器公开访问,然后从公网地址访问它。 我猜你目前正在使用本地主机访问您的服务器?

运行服务器端说8080,然后转发在你的路由器的端口所以这是公共互联网。 然后,从浏览网页/ phpscript http://72.184.212.85:8080而不是HTTP://本地主机:8080 。



Answer 3:

这里是我不会推荐一个荒唐的解决方案:

注册您的家庭IP与域名,然后看看那里的请求,从通过URL来了:

$url = $_SERVER["SERVER_NAME"];

要么

$url = $_SERVER["HTTP_HOST"];

然后这样做的结果,这应该回到它注册到IP,也就是你的外部IP的DNS查找。

 $ext_ip = gethostbyaddr($url);

唯一的原因,这是行不通的(很抱歉,如果我错了),如果是使用SERVER_NAME同样的方法为“REMOTE_HOST”,这是一个反向DNS查找,这不会解决,因为你的内部IP不会注册到该域名。 一个简单的检查方法是做两种:

 phpinfo();

,看看环境变量。



文章来源: My IP is showing up wrong in PHP home server
标签: php ip