MaxMind GeoIP2 没有 IPv6 的结果?

Posted

技术标签:

【中文标题】MaxMind GeoIP2 没有 IPv6 的结果?【英文标题】:MaxMind GeoIP2 no results for IPv6? 【发布时间】:2015-02-21 19:05:05 【问题描述】:

我已经下载了https://github.com/maxmind/GeoIP2-php 和数据库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 不工作。输出为空,没有错误。是不是少了什么东西?

【问题讨论】:

【参考方案1】:

并非每个 IP 地址都与时区相关联。对于地理位置数据参差不齐的 IPv6 地址来说,这尤其是一个问题。鉴于您正在获得记录,我怀疑该 IP 只有***数据而没有时区。您可以在文件中添加echo json_encode($record); 以查看查找中的数据。

【讨论】:

以上是关于MaxMind GeoIP2 没有 IPv6 的结果?的主要内容,如果未能解决你的问题,请参考以下文章

MaxMind 的 GeoIP2 java API 线程安全吗?

导入 com.maxmind.geoip2 无法解析

MaxMind:将 GeoIP2 mmdb 加载到内存中以便快速读取

安装 GeoIP2 时出错:geoip2/geoip2 v2.3.1 需要 maxmind/web-service-common

GeoIP2 MaxMind pom 和我本地的有啥区别?

使用 maxmind geoip2 呼出城市名称