Apache Web Server error log 에서 mod_geoip 에 관련된 에러가 아래와 같이 날 경우에 대한 대처법입니다.
Error Traversing Database for ipnum = 1954071659 - Perhaps database is corrupt?
Error Traversing Database for ipnum = 3564485476 - Perhaps database is corrupt?
Error Traversing Database for ipnum = 2042278286 - Perhaps database is corrupt?
Error Traversing Database for ipnum = 3024160044 - Perhaps database is corrupt?
Error Traversing Database for ipnum = 2156265848 - Perhaps database is corrupt?
Error Traversing Database for ipnum = 2009681336 - Perhaps database is corrupt?
먼저 아래와 같이 geoiplookup 으로 GeoLiteCity.dat 파일을 검증해서 에러가 없다면 dat 파일 이상이 아닙니다.
]# geoiplookup -f /some/where/path/GeoLiteCity.dat 100.100.100.100
아래는 maxmind forum에서 답변된 내용입니다. 원문은 따로 링크 하겠습니다.
저 해결책에 따르면 잘못된 메모리 공유의 결과이거나, 아파치 worker module을 이용해서.. 이게 핵심인것 같네요.
this kind of errors are most likely the result of wrong memory sharing somewhere. Or you use the apache worker model.
I wonder why you use php if you have mod_geoip already? Or is php only used to query geoip's environment vars?
As a workaround, use mod_geoip's MEMORY_CACHE option where theses errors can not occur.
I would like to know which version of apache, php,mod_geoip and the CAPI you use. Doublecheck that you use really a recent mod_geoip.
http://forum.maxmind.com/viewtopic.php?t=1353&sid=7cdab385f6e698954489069ce21bd391
대처법이라긴 뭐하고, maxmind forum 에서 해결책에 가장 근접한 문서가 아닐까 추측해 봅니다.
정확한건 아니니 이게 절대적이라고 신뢰하지 마세요 :)
