在php中获取错误的IP地址

在php中获取错误的IP地址,php,mysql,ip-address,Php,Mysql,Ip Address,我有以下php代码来获取vistor ip function VisitorIP() { if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) $TheIp=$_SERVER['HTTP_X_FORWARDED_FOR']; else $TheIp=$_SERVER['REMOTE_ADDR']; return trim($TheIp); } $Users_IP_address = VisitorIP(); 但每次我在本地主机上

我有以下php代码来获取vistor ip

 function VisitorIP()
  { 
  if(isset($_SERVER['HTTP_X_FORWARDED_FOR']))
  $TheIp=$_SERVER['HTTP_X_FORWARDED_FOR'];
  else $TheIp=$_SERVER['REMOTE_ADDR'];
  return trim($TheIp);
  }
  $Users_IP_address = VisitorIP();
但每次我在本地主机上执行这个脚本时,我都会得到::1作为IP

如何获得准确的internet IP和系统IP地址 因为我的脚本将在LAN NWTEWork上运行,我想记录LAN PC的IP和internet IP,并将其保存在mysql数据库中

我需要PHP代码,其中私有本地系统IP和系统互联网IP


谢谢

从技术上讲,您获得了正确的IP<代码>::1是您的环回(本地主机)IPv6地址。

从技术上讲,您获得了正确的IP<代码>::1是您的环回(本地主机)IPv6地址。

首先,扔掉这个愚蠢的函数,因为HTTP\u X\u FORWARDED\u FOR不是一个IP地址,而只是一个HTTP头,并将其设置为

$Users_IP_address = $_SERVER['REMOTE_ADDR'];
接下来,您必须将服务器设置为使用ipv4,而不是ipv6。

虽然这不是一个真正的PHP问题,应该在serverfault上询问,并提供完整的系统设置:操作系统、版本、您的权限等。

首先,扔掉这个愚蠢的函数,因为HTTP\u X\u FORWARDED\u FOR不是一个IP地址,而仅仅是一个HTTP头,让它只是

$Users_IP_address = $_SERVER['REMOTE_ADDR'];
接下来,您必须将服务器设置为使用ipv4,而不是ipv6。

虽然这不是一个真正的PHP问题,应该在serverfault上询问,并提供完整的系统设置:操作系统、版本、您的权限等。

当您在localhost上运行上述脚本时,您可以得到以下结果::1

这很常见

如果您想通过localhost获取系统IP地址,请使用以下代码

1)
localhost的脚本

<?PHP

$ip = @file_get_contents("http://www.apps-tube.com/apps/ip-address/ip.php");

echo $ip;

?>

当您在本地主机上运行上述脚本时,可以得到以下结果::1

这很常见

如果您想通过localhost获取系统IP地址,请使用以下代码

1)
localhost的脚本

<?PHP

$ip = @file_get_contents("http://www.apps-tube.com/apps/ip-address/ip.php");

echo $ip;

?>

::1是您的IPv6地址::1是您的IPv6地址请参阅我想要一个PHP代码,该代码为系统的本地系统IP和internet IP提供特权。@air您必须重新配置服务器。apache的htttpd.comf文件中的
Listen
参数值是什么?请参阅我想要一个PHP代码,该代码为系统的本地系统IP和internet IP提供特权。@您必须重新配置服务器。apache的htttpd.comf文件中的
Listen
参数值是什么?我删除了您网站上“获取我的IP”服务的链接。这与这个问题无关,而且你也没有指明这是你的网站。我删除了你网站上“获取我的IP”服务的链接。这与这个问题无关,而且你也没有指明这是你的网站。