Использование базы данных Maxmind geo IP без расширения GeoIP PECL? - PullRequest
1 голос
/ 22 декабря 2011

Я пытаюсь загрузить свои файлы на бесплатный веб-хостинг, в пробную версию.У меня проблема с выводом клиентского IP-локатора.Я использую базу данных maxmind."GeoIP.dat"

<?php print geoip_database_info(GEOIP_COUNTRY_EDITION); ?>

и вывод

Fatal error: Call to undefined function geoip_database_info() in /home/u_fg176/public_html/index.php on line 15

Не найдена ли функция geoip_database_info(), посколькухостинг не устанавливает pecl ext для php?Или может быть другая причина этой ошибки?

Ответы [ 2 ]

2 голосов
/ 22 декабря 2011

Это действительно потому, что ваш хост не установил расширение PECL.Вместо этого вы можете использовать несколько эквивалентное расширение PEAR Net_GeoIP , которое написано на PHP и может быть просто включено в ваш проект:

set_include_path(get_include_path() . PATH_SEPARATOR . '/path/to/Net_GeoIP');
require_once 'Net_GeoIP/Net/GeoIP.php';

$GeoIP = Net_GeoIP::getInstance(GEOIP_COUNTRY_EDITION);
$location = $GeoIP->lookupLocation($ipAddress);
0 голосов
/ 22 декабря 2011

Да, это было бы причиной.Попросите их включить или расширить, или искать альтернативу, если они не сотрудничают.

...