我试图通过PHP获取我的机器的IP地址.为此,我写的代码如下:
<?php echo "<br />".$_SERVER['REMOTE_ADDR'];?>
Run Code Online (Sandbox Code Playgroud)
但这段代码不起作用.它正在返回" ::1".请帮我如何获取实际的IP地址.
Que*_*tin 59
::1是实际的IP.它是一个ipv6环回地址(即localhost).如果您使用的是ipv4,那就是127.0.0.1.
如果您想获得不同的IP地址,则需要通过不同的网络接口连接到服务器.
小智 10
如果您尝试运行localhost,此答案将解决您的问题.只有很少的变化
apache2/httpd.conf
Run Code Online (Sandbox Code Playgroud)
搜索所有"听"字ex:
Listen 80
Run Code Online (Sandbox Code Playgroud)
这样做.
Listen 127.0.0.1:80
Run Code Online (Sandbox Code Playgroud)
而不是重启你的apache
$_SERVER[REMOTE_ADDR]
Run Code Online (Sandbox Code Playgroud)
将会呈现 Listen 127.0.0.1
你可以在这个详细的答案链接中看到答案
如果您的意思是获取用户的IP地址,您可以执行以下操作:
<?php
if(!empty($_SERVER['HTTP_CLIENT_IP'])){
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else{
$ip=$_SERVER['REMOTE_ADDR'];
}
?>
<?php echo "<br />".$ip;?>
Run Code Online (Sandbox Code Playgroud)
它将获得用户的实际IP地址,无论代理等.
| 归档时间: |
|
| 查看次数: |
46296 次 |
| 最近记录: |