reader.php,如何安装和使用PHP版的DB-Reader-php

如何安装和使用PHP版的DB-Reader-php

由于GEOIP官方的原免费GeoLite Legacy数据库(.dat)已于2019年1月开始不再提供更新和支持。

因此基于例如nginx/apache等WEB引擎的Geoip模块均已不可用。

官方已变更了ip数据库的格式,需要用新的API方式,来使用Geoip功能。

本文介绍使用php版的DB-Reader-php来实现功能

也可以使用GeoIP2-PHP实现功能

参考文档:

https://dev.maxmind.com/minfraud/

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

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

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

下载DB-Reader-php

curl -sS https://getcomposer.org/installer | php

安装DB-Reader-php

php composer.phar require maxmind-db/reader:~1.0

下载GeoLite2免费版数据库

funzip ./GeoLite2-Country.mmdb

funzip ./GeoLite2-City.mmdb

安装和下载完毕后,以上操作共生成以下内容

-rw-rw-r-- 1 someuser someuser 63 Aug 11 17:03 composer.json

-rw-rw-r-- 1 someuser someuser 2.4K Aug 11 17:03 composer.lock

-rw-rw-r-- 1 someuser someuser 73M Aug 11 17:04 GeoLite2-City.mmdb

-rw-rw-r-- 1 someuser someuser 19M Aug 11 17:04 GeoLite2-Country.mmdb

drwxrwxr-x 4 someuser someuser 4.0K Aug 11 17:03 vendor/

如何使用DB-Reader-php

1:在PHP中引入Composer自动加载

require 'vendor/autoload.php';

如果不想使用Composer自动加载,也可以自定义,只需要按以下方式引入亦可。

require('/自定义路径/autoload.php');

2:实例化reader类并引入mmdb数据库

use MaxMind\Db\Reader;

$reader = new Reader('./GeoLite2-City.mmdb');

到此,php版DB-Reader-php已可使用。

代码示例

require_once 'vendor/autoload.php';

use MaxMind\Db\Reader;

$ipAddress = '24.24.24.24';

$databaseFile = 'GeoIP2-City.mmdb';

$reader = new Reader($databaseFile);

print_r($reader->get($ipAddress));

$reader->close();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值