我无法让 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。这两者会相互冲突吗?
我还可以检查什么?
答案1
您似乎已从 Red Hat Software Collections 获得 PHP 5.5。遗憾的是,此 SCL 不包含 PECL geoip 扩展,因此您需要自行安装。
scl enable php55 'pecl install geoip'