好了够简单
<?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
我怎样才能获得的第一个值,以显示我的测试服务器上?
好了够简单
<?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
我怎样才能获得的第一个值,以显示我的测试服务器上?
$_SERVER['REMOTE_ADDR']
将始终显示发出请求附带的IP地址。 如果你自己的内部网络访问自己的电脑上自己的脚本,你的外部IP地址从来没有用武之地。 该请求将不得不离开你的本地网络,然后回来为外部地址露面,但如果它的所有地方,也永远不会发生。
你必须让你的服务器公开访问,然后从公网地址访问它。 我猜你目前正在使用本地主机访问您的服务器?
运行服务器端说8080,然后转发在你的路由器的端口所以这是公共互联网。 然后,从浏览网页/ phpscript http://72.184.212.85:8080而不是HTTP://本地主机:8080 。
这里是我不会推荐一个荒唐的解决方案:
注册您的家庭IP与域名,然后看看那里的请求,从通过URL来了:
$url = $_SERVER["SERVER_NAME"];
要么
$url = $_SERVER["HTTP_HOST"];
然后这样做的结果,这应该回到它注册到IP,也就是你的外部IP的DNS查找。
$ext_ip = gethostbyaddr($url);
唯一的原因,这是行不通的(很抱歉,如果我错了),如果是使用SERVER_NAME同样的方法为“REMOTE_HOST”,这是一个反向DNS查找,这不会解决,因为你的内部IP不会注册到该域名。 一个简单的检查方法是做两种:
phpinfo();
,看看环境变量。