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 线程安全吗?
MaxMind:将 GeoIP2 mmdb 加载到内存中以便快速读取
安装 GeoIP2 时出错:geoip2/geoip2 v2.3.1 需要 maxmind/web-service-common