Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php &引用;“垃圾”;某些客户端的$#服务器[';远程地址';]中带有冒号的IP地址_Php_Cron_Ip Address_Ipv6 - Fatal编程技术网

Php &引用;“垃圾”;某些客户端的$#服务器[';远程地址';]中带有冒号的IP地址

Php &引用;“垃圾”;某些客户端的$#服务器[';远程地址';]中带有冒号的IP地址,php,cron,ip-address,ipv6,Php,Cron,Ip Address,Ipv6,我在服务器上有一个PHP脚本,根据在每台机器上设置的cronjobs,它在一天中的不同时间被多台不同的机器访问。我想知道发出请求的机器的IP,当浏览器发出请求时,以下命令会成功执行: <?php ... echo $_SERVER['REMOTE_ADDR']; ... ?> 但是,当使用CURL或我尝试使用的任何其他命令行工具(包括lynx)创建时,我最终会遇到以下垃圾: 2701:5:4a80:7d:2ee:8eff:5e61:801d 根据我所做的调查,这是A

我在服务器上有一个PHP脚本,根据在每台机器上设置的cronjobs,它在一天中的不同时间被多台不同的机器访问。我想知道发出请求的机器的IP,当浏览器发出请求时,以下命令会成功执行:

<?php
  ...
  echo $_SERVER['REMOTE_ADDR'];
  ...
?>

但是,当使用CURL或我尝试使用的任何其他命令行工具(包括lynx)创建时,我最终会遇到以下垃圾:

2701:5:4a80:7d:2ee:8eff:5e61:801d

根据我所做的调查,这是Apache没有为从命令行接收的请求填充
$\u服务器
变量的结果


有人知道如何获取命令行请求,以便更好地使用
$\u服务器
变量,或者我应该走另一条路线吗?

这不是垃圾,这是正确的远程地址。有人使用IPv6访问您的服务器。

我的错:-\n知道如何获取关联的IPv4地址吗?@TMan,这是不可能的。IPv4和IPv6不一定要相互关联。太好了,谢谢你的帮助!我猜我必须在客户端计算机上强制使用IPv4才能获得我要查找的地址?查看有关检查IPv4与IPv6地址的帮助。。。至少可以说,对于您现在开发的任何东西来说,最安全的方法是同时支持IPv4和IPv6。您将在某个时候遇到这两种情况,之后添加IPv6支持需要做更多的工作。。。