mente / max-mind-geo-ip-bundle
该包已被废弃,不再维护。作者建议使用 gpslab/geoip 包。
将 MaxMind GeoIP 数据库集成到 symfony 应用程序中的包
0.3.1
2017-12-06 20:20 UTC
Requires
- maxmind-db/reader: ^0.3|^1.0
- symfony/console: ^2.3|^3.0|^4.0
- symfony/framework-bundle: ^2.3|^3.0|^4.0
Requires (Dev)
- composer/composer: dev-master@dev
- phpunit/phpunit: ^5.0
This package is auto-updated.
Last update: 2020-10-26 19:11:00 UTC
README
已废弃 请使用 gpslab/geoip。它支持现代的 Symfony 和 PHP 版本,并且代码质量更好。
Insomnia MaxGeoIp Bundle
安装
此包帮助您在 symfony 应用程序中实现 MaxMind GeoIp 功能。基于 MaxMind 库。安装方式与其他包相同
composer require mente/max-mind-geo-ip-bundle *
别忘了将包添加到您的应用程序内核
<?php // app/AppKernel.php public function registerBundles() { $bundles = array( // ... new \Insomnia\MaxMindGeoIpBundle\InsomniaMaxMindGeoIpBundle(), ); }
配置相当直观
insomnia_max_mind_geo_ip: #Path to geolite2 database. Default is %kernel.root_dir%/GeoIpCountry.mmdb path: %kernel.root_dir%/geolite2.mmdb
设置完代码后,是时候更新最新的 MaxMind 数据库了
#If you want to use country-precision php app/console insomnia:geoip:update http://geolite.maxmind.com/download/geoip/database/GeoLite2-Country.mmdb.gz #OR #If you want to use city-precision #Keep in mind that city-precision database is bigger and it takes a bit longer time to find it by ip. php app/console http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.mmdb.gz
命令将保存并解压数据库到配置中指定的位置。所以您无需担心正确的放置。
提示:如果您想自动化数据库更新,可以使用提供的脚本处理程序将其集成到 composer 安装/更新阶段。将以下内容添加到您的 composer.json
"scripts": { "post-install-cmd": [ "Insomnia\\MaxMindGeoIpBundle\\Composer\\ScriptHandler::downloadMaxMindDB" ], "post-update-cmd": [ "Insomnia\\MaxMindGeoIpBundle\\Composer\\ScriptHandler::downloadMaxMindDB" ] }, "extra": { "maxmind-db-path": "app/geolite2.mmdb" }
需要额外的部分 maxmind-db-path
,并且应该与 symfony 配置中的 insomnia_max_mind_geo_ip.path
相同。就是这样!您可以开始使用了
使用方法
该包暴露了 2 个服务:insomnia_max_mind_geo_ip
和 insomnia_max_mind_geo_ip_service
。前者是 MaxMind 纯数据库读取器本身,后者是在它周围的一个薄封装,包含几个有用的方法。完整的函数集合请查看 Insomnia\MaxMindGeoIpBundle\Service\GeoIpService