GeoIP安装笔记【20210905】

发表于 2020-03-10 14:54:26
阅读 78

介绍

介绍

通过 GeoIP 库可以建立一个本地IP归属地查询系统,快速查询IP归属地信息。

最主要的是,它是免费的哦~~

安装

下载

下载 GeoIP2 库

https://dev.maxmind.com/geoip/geoip2/geolite2/

1、下载库需要注册账号,注册步骤:

  • 提交注册申请,需要一个 Email 地址

  • 通过 Email 接收邮件,邮件内有初始化密码链接

  • 点开链接设置密码,完成注册

2、接下来登录进去,在左侧的 GeoIP2 / GeoLite2 下面找到 Download Files 链接,点击去

3、在出来的列表里选择最新的 GeoLite2 ASN 和 GeoLite2 City 下载下来

4、压缩包里会有一个 GeoLite2-ASN.mmdb,这个就是我们要的库文件

使用

通过php调用

下载库代码

我们如果要在 php 当中使用 mmdb 库,就需要找到一个驱动程序

https://github.com/maxmind/GeoIP2-php

https://github.com/maxmind/MaxMind-DB-Reader-php

下载 GeoIP2-php 代码和 MaxMind-DB-Reader-php 代码

调用代码

通过驱动程序调用代码查询IP归属地信息

include './autoload.php';

use GeoIp2\Database\Reader as GeoIP2DbReader;

$reader = new GeoIP2DbReader(WEBDOC_ROOT. 'GeoLite2-City.mmdb');
$record = $reader->city('180.149.132.47');
var_dump($record);

获得IP归属地信息的数组格式

$provinceArr = $record->subdivisions[0]->jsonSerialize();
$cityArr = $record->city->jsonSerialize();