≡ Menu

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

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.

Install php-devel

You need to install php-devel to compile php extensions:
# yum install php-devel

Download php source code

php_pcre.h header file is not includes with php source code 5.1.6, so you need php source code as well. Visit php.net to grab latest version and store to /opt directory. Use lynx and elinks:
# cd /opt
# elinks http://www.php.net/get/php-5.2.6.tar.bz2/from/a/mirror

Save php source to code to disk. Next, extract source code:
# tar -jxvf php-5.2.6.tar.bz2

Download filter extension

Visit pecl extension to grab latest source code for filter:
# cd /opt
# wget http://pecl.php.net/get/filter-0.11.0.tgz

Install filter extension

Unrar file:
# tar -jxvf filter-0.11.0.tgz
# cd filter-0.11.0

Open logical_filters.c file:
# vi logical_filters.c
Find line that read as follows:

#include "ext/pcre/php_pcre.h"

Change to (the absolute path of php_pcre.h is required):

#include "/opt/php-5.2.6/ext/pcre/php_pcre.h"

Save and close the file. Finally, type the following commands to compile extension:
# phpize
# ./configure
# make install

Configure Filter Extension

Type the following command:
# echo 'extension=filter.so' > /etc/php.d/filter.ini
Restart httpd:
# service httpd restart

Tweet itFacebook itGoogle+ itPDF itFound an error/typo on this page?

{ 6 comments… add one }

  • Wendall Cada October 13, 2008, 2:49 am

    You also need to install pcre-devel.

    # yum install pcre-devel

    • Leonardo Macedo July 1, 2014, 7:26 pm

      This is it.


  • sathish October 18, 2008, 5:57 am


    Can u help us for installing apc extension. We are on suse 10.3

  • ISEDC May 20, 2010, 3:24 pm

    How can you install this on RHEL?

  • Adriano December 5, 2012, 12:22 pm

    On CentOS 6 (PHP 5.3.6)…

    [root@xxx]# make
    /bin/sh /opt/filter-0.11.0/libtool –mode=compile cc -I. -I/opt/filter-0.11.0 -DPHP_ATOM_INC -I/opt/filter-0.11.0/include -I/opt/filter-0.11.0/main -I/opt/filter-0.11.0 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /opt/filter-0.11.0/filter.c -o filter.lo
    libtool: compile: cc -I. -I/opt/filter-0.11.0 -DPHP_ATOM_INC -I/opt/filter-0.11.0/include -I/opt/filter-0.11.0/main -I/opt/filter-0.11.0 -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -DHAVE_CONFIG_H -g -O2 -c /opt/filter-0.11.0/filter.c -fPIC -DPIC -o .libs/filter.o
    /opt/filter-0.11.0/filter.c: In function ‘zm_startup_filter’:
    /opt/filter-0.11.0/filter.c:236: error: too few arguments to function ‘sapi_register_input_filter’
    make: ** [filter.lo] Erro 1

  • Greg Booth March 27, 2013, 4:14 pm

    Very helpful, thanks!
    Since PHP 5.2.6 is getting old, I had to find the source and the PECL extension elsewhere.
    PHP source:
    Filter extension:

Leave a Comment