GeoIP已安装/加载,但未返回记录

时间:2012-08-18 12:46:35

标签: php geolocation geoip php-extension

尝试通过GeoIP Module / MaxMind DB对国家和地区进行地理定位。

仔细检查它是否通过phpinfo()加载:

 geoip
 geoip support  enabled
 geoip extension version    1.0.8
 geoip library version  1004005

仔细检查数据库:

    <?
    $db = geoip_database_info();
    print_r($db);
    ?>

返回:

GEO-106FREE 20090201 Build 1 Copyright (c) 2007 MaxMind LLC All Rights Reserved

但是当我尝试这个时:

<?
$record = geoip_record_by_name("76.109.14.196");
if ($record) {
   print_r($record);
}
?>

它变成了空白。

我有什么遗失吗?

2 个答案:

答案 0 :(得分:0)

数据库可能已过时。为什么不使用正确更新的远程解决方案,例如http://www.geoplugin.net/

简单示例

$xml = simplexml_load_file("http://www.geoplugin.net/xml.gp?ip=76.109.14.196");
echo $xml->geoplugin_countryName ;

输出

 United States

答案 1 :(得分:0)

可能未安装用于位置查找的特定数据库。试试geoip_country_code_by_name,它应该有用。