MaxMind GeoIP2 没有 IPv6 的结果?

MaxMind GeoIP2 no results for IPv6?

我已经下载 https://github.com/maxmind/GeoIP2-php and the database http://dev.maxmind.com/geoip/geoip2/geolite2/ 来捕捉页面访问者的时区。

require_once('GeoIp2/vendor/autoload.php');

$reader = new Reader('GeoIp2/GeoLite2-City.mmdb');
$record = $reader->city($_SERVER['REMOTE_ADDR']);
echo $record->location->timeZone;

它在 IPv4 上工作正常,但 IPv6 不工作。输出为空,没有错误。是不是少了什么?

并非每个 IP 地址都与时区相关联。对于地理定位数据更加不稳定的 IPv6 地址来说,这尤其是一个问题。鉴于您正在获取记录,我怀疑 IP 仅包含没有时区的国家/地区级数据。您可以添加 echo json_encode($record); 您的文件以查看查找中的数据。