0

我在这个脚本中使用 MaxMind GeoIP:

$gi = geoip_open(RESSOURCE_PATH.'/MaxMind/tests/data/GeoIPCity.dat', GEOIP_STANDARD);

// $rsGeoData = GeoIP_record_by_addr($gi, $_SERVER['REMOTE_ADDR']);
$rsGeoData = GeoIP_record_by_addr($gi, '91.213.180.118');

echo("<pre>");
print_r($rsGeoData);
echo("</pre>");

geoip_close($gi);

但是 $rsGeoData 始终为空(不是具有空值的数组,而是真正的“空”,即is_null($rsGeoData)===null)。文件的此函数返回 Null geoipcity.inc

function _get_record($gi, $ipnum)
{
    $seek_country = _geoip_seek_country($gi, $ipnum);
    if ($seek_country == $gi->databaseSegments) {
        return null;
    }
    return _common_get_record($gi, $seek_country);
}

我真的不明白为什么......你能帮我吗?

4

1 回答 1

1

根据您的文件路径,我猜您使用的是为单元测试创​​建的数据库,而不是完整的数据库。我建议从 MaxMind 下载GeoLite 数据库

于 2014-03-19T13:30:56.040 回答