riteshptl21 / geoip
支持 Maxmind GeoIP 服务
0.1.2.1
2016-08-01 13:11 UTC
Requires
- php: >=5.4.0
- geoip2/geoip2: ~2.1
- illuminate/support: 4.2.*
This package is not auto-updated.
Last update: 2024-09-14 18:47:30 UTC
README
描述
Geoip 是一个 Laravel 包,旨在无缝集成 MaxMind 功能,用于在 Laravel 中确定 IP 地址的地理位置。
安装
将 geoip 添加到 composer.json 文件
"riteshptl21/geoip": "0.1.*"
然后您需要运行 composer install
来下载它并更新自动加载器。
将服务提供者添加到您的 Laravel 应用程序配置
'Riteshptl21\Geoip\GeoipServiceProvider'
使用 artisan 创建配置文件
$ php artisan config:publish riteshptl21/geoip
一旦您运行此命令,您将在 app/config/packages/riteshptl21/geoip/config.php
中看到配置文件,并在那里设置配置。
- 数据库服务:要使用 MaxMind 服务的数据库版本,请从 http://dev.maxmind.com/geoip/geoip2/geolite2/ 下载
GeoLite2-City.mmdb
,解压缩它,并将GeoLite2-City.mmdb
的文件路径设置为配置文件中的database_path
。 - 网络服务:要使用 MaxMind 服务的网络服务版本,请在本 https://www.maxmind.com/en/geoip2-precision-services 创建账户并设置配置。
用法
获取网站访客的位置数据
$location = Geoip::getLocation();
如果没有提供 IP,则使用
$_SERVER["REMOTE_ADDR"]
。
获取指定 IP 的位置数据
$location = Geoip::getLocation( '2.24.234.19' );
注意
如果在找不到位置的情况下,将返回您在配置中设置的 default_location
参数作为回退位置。默认情况下,default_location 设置如下
array ( "ip" => "127.0.0.0", "isoCode" => "IN", "country" => "India", "city" => "Ahmedabad", "state_code" => "GJ", "postal_code" => "261201", "lat" => 23.0333, "lon" => 72.6167, "timezone" => "Asia/Kolkata", "continent" => "AS", "default" => true )