≡ 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

Share this tutorial on:

Your support makes a big difference:
I have a small favor to ask. More people are reading the nixCraft. Many of you block advertising which is your right, and advertising revenues are not sufficient to cover my operating costs. So you can see why I need to ask for your help. The nixCraft, takes a lot of my time and hard work to produce. If you use nixCraft, who likes it, helps me with donations:
Become a Supporter →    Make a contribution via Paypal/Bitcoin →   

Don't Miss Any Linux and Unix Tips

Get nixCraft in your inbox. It's free:



{ 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.

      Thanks.

  • sathish October 18, 2008, 5:57 am

    Hai

    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:
    http://autosetup1.googlecode.com/files/php-5.2.6.tar.gz
    Filter extension:
    http://pecl.php.net/package/filter/0.11.0

Leave a Comment

You can use these HTML tags and attributes: <strong> <em> <pre> <code> <a href="" title="">


   Tagged with: , , , , , , , ,