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

Php 已安装/加载GeoIP,但未返回记录,php,geolocation,geoip,php-extension,Php,Geolocation,Geoip,Php Extension,试图通过GeoIP模块/MaxMind DB对国家和地区进行地理定位 通过phpinfo()再次检查它是否已加载: 再次检查数据库: <? $db = geoip_database_info(); print_r($db); ?> 但当我尝试这个: <? $record = geoip_record_by_name("76.109.14.196"); if ($record) { print_r($record); } ?>

试图通过GeoIP模块/MaxMind DB对国家和地区进行地理定位

通过phpinfo()再次检查它是否已加载:

再次检查数据库:

    <?
    $db = geoip_database_info();
    print_r($db);
    ?>
但当我尝试这个:

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

结果是一片空白


是否有我遗漏的部分?

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

简单例子

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

 United States

可能未安装用于位置查找的特定数据库。请按名称尝试
geoip\u country\u code\u,它应该可以工作。

成功返回关联数组,如果在数据库中找不到地址,则返回FALSE。您尝试过其他IP吗?请尝试以下操作:
$details=geoip\u record\u by\u name($\u SERVER['REMOTE\u ADDR');echo$details['city']
@hookman是的,已经尝试过其他IP。应该提到的是,远程解决方案速度较慢,可能会出现故障。您可以将其与缓存解决方案相结合,如
memcache
每分钟查看多少请求?这是一个可接受的替代方案,但我对解决原始问题感兴趣(为了理解,也为了列出@hookman的原因)。
$xml = simplexml_load_file("http://www.geoplugin.net/xml.gp?ip=76.109.14.196");
echo $xml->geoplugin_countryName ;
 United States