Я не могу заставить расширение GeoIP PHP работать на CentOS 7 и PHP 5.5.21.
Сначала я начал с yum install php-pecl-geoip
и перезапустил httpd. Затем я провел простой тест:
$record = geoip_record_by_name($_SERVER["REMOTE_ADDR"]);
if ($record) {
print_r($record);
}
Я получил ошибку 500, и в журнале ошибок я вижу
Неустранимая ошибка PHP: вызов неопределенной функции geoip_record_by_name ()
Итак, я решил, что пакет yum плохой и удалил это. Затем я выполнил pecl install geoip
и включил расширение /etc/php.d/geoip.ini
с помощью extension = geoip.so
и перезапустил httpd. Та же ошибка - неопределенная функция.
Чтобы убедиться в правильности установки, я снова попробовал установить pecl и получил следующий результат:
pecl / geoip уже установлен и совпадает с выпущенной версией 1.0.8
У меня есть mod_geoip Apache установлен. 2 конфликтуют друг с другом?
Что еще я могу проверить?
Похоже, что вы получили PHP 5.5 из коллекции Red Hat Software Collections. К сожалению, этот SCL не включает в себя расширение PECL geoip, поэтому вам придется установить его самостоятельно.
scl enable php55 'pecl install geoip'