我无法在CentOS 7和PHP 5.5.21上获得GeoIP PHP扩展。
我首先用yum install php-pecl-geoip
并重新启动httpd。 然后我做了一个简单的testing:
$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。 相同的错误 – 未定义的function。
为了确保安装正确,我再次尝试了pecl安装并收到了这个输出:
pecl/geoip is already installed and is the same as the released version 1.0.8
我确实安装了Apache的mod_geoip。 做两个冲突吗?
我还能检查什么?
看起来你已经从Red Hat Software Collections获得了PHP 5.5。 不幸的是,这个SCL不包含PECL geoip扩展,所以你需要自己安装。
scl enable php55 'pecl install geoip'