CentOS/Red Hat Linux安装PHP 5.x PECL过滤器扩展
时间:2020-01-09 10:43:17 来源:igfitidea点击:
问题描述:如何安装过滤器扩展,以便使用filter_var()安全处理通过Web表单提供的输入参数?
解决方法:此扩展是PHP Core 5.20及更高版本的一部分。
不幸的是,RHEL/CentOS附带了PHP版本5.1.6。
因此,您需要通过执行以下命令来安装此扩展。
安装php-devel
您需要安装php-devel才能编译php扩展名:
# yum install php-devel
下载php源代码
php_pcre.h头文件不包含在php源代码5.1.6中,因此您也需要php源代码。
访问php.net获取最新版本并将其存储到/opt目录。
使用山猫和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
安装过滤器扩展
Unrar文件:
# 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