Назад | Перейти на главную страницу

Расширение GeoIP PHP не работает на CentOS 7

Я не могу заставить расширение 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 Fatal error: Call to undefined function geoip_record_by_name()

Я решил, что пакет yum плохой, и удалил его. Я тогда сделал pecl install geoip и включил расширение /etc/php.d/geoip.ini с участием extension=geoip.so и перезапустил httpd. Та же ошибка - неопределенная функция.

Чтобы убедиться, что установка прошла правильно, я снова попробовал выполнить установку pecl и получил следующий результат:

pecl/geoip is already installed and is the same as the released version 1.0.8

У меня установлен Apache mod_geoip. 2 конфликтуют друг с другом?

Что еще можно проверить?

Похоже, вы получили PHP 5.5 из Red Hat Software Collections. К сожалению, этот SCL не включает расширение geoip PECL, поэтому вам придется установить его самостоятельно.

scl enable php55 'pecl install geoip'