Fatal error: Cannot redeclare geoip_country_code_by_name() in /home/public_html/engine/modules/geoip-api/geoip.inc on line 353Оказалось, что в php5 эти функции уже задействованы. Можно решить эту проблему простым способом, просто делаем проверку для двух функций:
if (!function_exists('geoip_country_code_by_name')){function geoip_country_code_by_name($gi, $name) {$country_id = geoip_country_id_by_name($gi,$name);if ($country_id !== false) {return $gi->GEOIP_COUNTRY_CODES[$country_id];}return false;}}if (!function_exists('geoip_country_name_by_name')){function geoip_country_name_by_name($gi, $name) {$country_id = geoip_country_id_by_name($gi,$name);if ($country_id !== false) {return $gi->GEOIP_COUNTRY_NAMES[$country_id];}return false;}}
И проблема решена.
Также столкнулся с тем, что часто базы не совсем свежие.
В бесплатной версии базы обновляются раз в месяц, для простых нужд её вполне хватает.
Обновить базу можно по следующему линку:
Надо просто заменить скачанный файл GeoIp.dat на вашем хостинге.
У меня стало идентифицировать на 20% больше стран, после проделанных манипуляций.
Не забывайте периодически обновлять файл, чтобы освежить диапазоны IP.
No comments:
Post a Comment