geocoder-php/geoip2-provider

Geocoder GeoIP2 adapter

4.3.0 2022-07-30 10:48 UTC

This package is auto-updated.

Last update: 2024-04-04 10:03:09 UTC


README

Build Status Latest Stable Version Total Downloads Monthly Downloads Quality Score Software License

This is the GeoIP2 provider from the PHP Geocoder. This is a READ ONLY repository. See the main repo for information and documentation.

Install

composer require geocoder-php/geoip2-provider

Usage

The provider requires either a database file, or paid access to the web service.

Using a database file

Both free geolite2 and the paid precision city and country databases are supported.

//Use a Maxmind GeoIP2 Database:
$reader = new \GeoIp2\Database\Reader('/path/to/geolite2.mmdb');

$adapter = new \Geocoder\Provider\GeoIP2\GeoIP2Adapter($reader);
$geocoder = new \Geocoder\Provider\GeoIP2\GeoIP2($adapter);

$address = $geocoder->geocodeQuery(\Geocoder\Query\GeocodeQuery::create('74.200.247.59'))->first();

Using the Precision Web Service (API)

The provider also support the Precision Web Services. Please note that these API are paid, and billed per request.

// Use the Maxmind GeoIP2 API:
$reader = new \GeoIp2\WebService\Client(<account_id>, '<licence_key>');

$adapter = new \Geocoder\Provider\GeoIP2\GeoIP2Adapter($reader);
$geocoder = new \Geocoder\Provider\GeoIP2\GeoIP2($adapter);

$address = $geocoder->geocodeQuery(\Geocoder\Query\GeocodeQuery::create('74.200.247.59'))->first();

Contribute

Contributions are very welcome! Send a pull request to the main repository or report any issues you find on the issue tracker.