在CentOS / Red Hat下安装PHP 5.x PECL Filter Extension

php 5.2之后,默认会装有filter extension,这个扩展可以帮助php开发者过滤用户输入的内容,由php的创始人之一Rasmus Lerdorf提供,可以见我早期的文章介绍

Q. How do I install filter extension for safely dealing with input parameters supplied via a web form using filter_var()?
A. This extension is part of PHP Core version 5.20 and above. Unfortunately, RHEL / CentOS comes with PHP version 5.1.6. So you need to install this extension by typing the following commands.

由于RHEL / CentOS自带的php版本是5.1.6,那么只好手工安装filter扩展。安装过程:

安装php-devel

为了编译php extensions,需要安装php-devel包:
# yum install php-devel

下载php的源码

php 5.1.6的源码树中没有包含php_pcre.h header文件, 所以需要另行下载一个php源码. 从php.net下载最新版本的源码并放到/opt目录:
# cd /opt
# elinks http://cn2.php.net/get/php-5.2.6.tar.bz2/from/cn.php.net/mirror

保存之后解压:
# tar -jxvf php-5.2.6.tar.bz2

下载filter extension

pecl上找到最新的filter源码:
# cd /opt
# wget http://pecl.php.net/get/filter-0.11.0.tgz

安装filter extension

解压文件:
# 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"

保存并关闭文件. 最后输入下面命令来编译filter扩展:
# phpize
# ./configure
# make install

配置Filter Extension

输入下列命令:
# echo 'extension=filter.so' > /etc/php.d/filter.ini

然后重启web server即可。

原文: CentOS / Red Hat Linux Install PHP 5.x PECL Filter Extension

作者: Volcano 发表于October 27, 2008 at 4:22 pm

版权信息: 可以任意转载, 转载时请务必以超链接形式标明文章原始出处作者信息及此声明

Tags:

2 条评论 »

  1. suchasplus 于 2008-11-10 @ 11:25:52 留言

    安装filter extension
    # tar -jxvf filter-0.11.0.tgz
    # cd filter-0.11.0

    应该是tar zxvf吧

  2. u206 于 2008-11-17 @ 09:35:54 留言

    应该是tar zxvf

RSS 为此帖反馈评论

留条评论