I can't get the GeoIP PHP extension working on CentOS 7 and PHP 5.5.21.
I first started with yum install php-pecl-geoip
and restarted httpd. I then did a simple test:
$record = geoip_record_by_name($_SERVER["REMOTE_ADDR"]);
if ($record) {
print_r($record);
}
I got an error 500, and in the error log, I see
PHP Fatal error: Call to undefined function geoip_record_by_name()
So I figured the yum package was bad and removed it. I then did pecl install geoip
and enabled the extension /etc/php.d/geoip.ini
with extension=geoip.so
and restarted httpd. Same error – undefined function.
To make sure the install was correct, I tried the pecl install again and received this output:
pecl/geoip is already installed and is the same as the released version 1.0.8
I do have Apache's mod_geoip installed. Do the 2 conflict with each other?
What else can I check?
Best Answer
It looks like you've obtained PHP 5.5 from Red Hat Software Collections. Unfortunately this SCL doesn't include the PECL geoip extension, so you will need to install it yourself.