2012-08-18 3 views
1

GeoIP Module/MaxMind DB를 통해 국가 및 지역을 지오 코딩하려고 시도했습니다.GeoIP 설치 /로드되었지만 레코드를 반환하지 않음

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

반환 :

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

두 번이 DB 확인

:

두 번이은 phpinfo()를 통해 장전 확인

:

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); 
} 
?> 

공백으로 표시됩니다.

누락 된 자료가 있습니까?

+0

성공하면 연결 배열을 반환하고, 데이터베이스에서 주소 *를 찾을 수없는 경우에는 FALSE를 반환합니다. * 다른 IP를 시도한 적이 있습니까? – mintobit

+0

이것을 시도해보십시오 :'$ details = geoip_record_by_name ($ _ SERVER [ 'REMOTE_ADDR']); echo $ details [ 'city']; ' –

+0

@hookman 예, 다른 IP를 시도했습니다. – Susan

답변

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

원격 솔루션이 느리고 다운되었을 수 있음을 언급해야합니다. – mintobit

+0

당신은'memcache'와 같은 캐시 솔루션과 결합 할 수 있습니다. 얼마나 많은 요청을 분당보고 있습니까? – Baba

+0

이것은 받아 들일 수있는 대안이지만 원래 문제를 푸는 데 관심이 있습니다 (이해를 돕기 위해, 또한 @hookman이 나열된 이유 때문에). – Susan

0

특정 데이터베이스가 아마 설치되지 않은 업데이트되는 원격 솔루션을 사용 사용하지 마십시오. 시도하십시오 geoip_country_code_by_name 및 작동합니다.

관련 문제