如果其他人像我一样偶然发现这个问题,这是我为 Redhat/CentOS 找到的解决方案:
http://www.cyberciti.biz/faq/rhel-cento-linux-install-php-pecl-filter/
安装 php-devel
需要安装php-devel来编译php扩展:
yum install php-devel
下载php源码
php_pcre.h 头文件不包含在 php 源代码 5.1.6 中,因此您还需要 php 源代码。访问 php.net 获取最新版本并存储到 /opt 目录。使用 lynx 和 elinks:
cd /opt
elinks http://www.php.net/get/php-5.2.6.tar.bz2/from/a/mirror
将 php 源代码保存到磁盘。接下来,提取源代码:
tar -jxvf php-5.2.6.tar.bz2
下载过滤器扩展
访问 pecl 扩展以获取过滤器的最新源代码:
cd /opt
wget http://pecl.php.net/get/filter-0.11.0.tgz
安装过滤器扩展
解压文件:
tar -jxvf filter-0.11.0.tgz
cd filter-0.11.0
打开logical_filters.c文件:
vi logical_filters.c
找到如下行:
include "ext/pcre/php_pcre.h"
改成(需要php_pcre.h的绝对路径):
include "/opt/php-5.2.6/ext/pcre/php_pcre.h"
保存并关闭文件。最后,输入以下命令编译扩展:
phpize
./configure
make install
配置过滤器扩展
输入以下命令:
echo 'extension=filter.so' > /etc/php.d/filter.ini
重启httpd:
service httpd restart