Я не могу заставить расширение 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'