geoip-api-php

GeoIP Legacy PHP API

  • Owner: maxmind/geoip-api-php
  • Platform:
  • License:: GNU Lesser General Public License v2.1
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

MaxMind GeoIP Legacy PHP API

Important Note

This API is for the GeoIP Legacy format (dat). To read the MaxMind DB format
(mmdb) used by GeoIP2, please see
our GeoIP2 PHP API.

Requirements

This module has no external dependencies. You only need a MaxMind GeoIP
database.

Install via Composer

We recommend installing this package with Composer.

Download Composer

To download Composer, run in the root directory of your project:

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

You should now have the file composer.phar in your project directory.

Install Dependencies

Run in your project root:

php composer.phar require geoip/geoip:~1.16

You should now have the files composer.json and composer.lock as well as
the directory vendor in your project directory. If you use a version control
system, composer.json should be added to it.

Require Autoloader

After installing the dependencies, you need to require the Composer autoloader
from your code:

require 'vendor/autoload.php';

Install without Composer

Place the 'geoip.inc' file in the include_path as specified in your
php.ini file or place it in the same directory as your PHP scripts.

IP Geolocation Usage

IP geolocation is inherently imprecise. Locations are often near the center of
the population. Any location provided by a GeoIP database should not be used to
identify a particular address or household.

Usage

Gets country name by hostname :

<?php

require 'vendor/autoload.php';

$gi = geoip_open("/usr/local/share/GeoIP/GeoIP.dat",GEOIP_STANDARD);

echo geoip_country_code_by_addr($gi, "24.24.24.24") . "\t" .
     geoip_country_name_by_addr($gi, "24.24.24.24") . "\n";
echo geoip_country_code_by_addr($gi, "80.24.24.24") . "\t" .
     geoip_country_name_by_addr($gi, "80.24.24.24") . "\n";

geoip_close($gi);

Memory Caching

To enable memory caching, pass GEOIP_SHARED_MEMORY or GEOIP_MEMORY_CACHE
as the second argument of geoip_open.

GEOIP_SHARED_MEMORY requires php >= 4.0.4 compiled with --enable-shmop
configure time. See (http://us2.php.net/manual/en/ref.shmop.php).
In addition, you should call geoip_load_shared_mem before calling
geoip_open. See sample_city.php for an example of shared memory caching.

Requirements

This code is tested on PHP 5.4 and greater. Older versions of PHP may work.

Support

For help with this API or our databases, please see our support page.

This software is Copyright (c) 2016 by MaxMind, Inc.

This is free software, licensed under the GNU Lesser General Public License
version 2.1 or later.

Thanks

Thanks to Jim Winstead.

Main metrics

Overview
Name With Ownermaxmind/geoip-api-php
Primary LanguagePHP
Program languagePHP (Language Count: 3)
Platform
License:GNU Lesser General Public License v2.1
所有者活动
Created At2012-06-19 19:10:55
Pushed At2021-02-05 21:38:40
Last Commit At
Release Count8
Last Release Namev1.17 (Posted on 2016-05-16 12:09:55)
First Release Namev1.10 (Posted on )
用户参与
Stargazers Count522
Watchers Count86
Fork Count331
Commits Count199
Has Issues Enabled
Issues Count31
Issue Open Count0
Pull Requests Count20
Pull Requests Open Count0
Pull Requests Close Count8
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private