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
🐧 6 comments so far... add one ↓
Category | List of Unix and Linux commands |
---|---|
File Management | cat |
Firewall | Alpine Awall • CentOS 8 • OpenSUSE • RHEL 8 • Ubuntu 16.04 • Ubuntu 18.04 • Ubuntu 20.04 |
Network Utilities | dig • host • ip • nmap |
OpenVPN | CentOS 7 • CentOS 8 • Debian 10 • Debian 8/9 • Ubuntu 18.04 • Ubuntu 20.04 |
Package Manager | apk • apt |
Processes Management | bg • chroot • cron • disown • fg • jobs • killall • kill • pidof • pstree • pwdx • time |
Searching | grep • whereis • which |
User Information | groups • id • lastcomm • last • lid/libuser-lid • logname • members • users • whoami • who • w |
WireGuard VPN | Alpine • CentOS 8 • Debian 10 • Firewall • Ubuntu 20.04 |
You also need to install pcre-devel.
# yum install pcre-devel
This is it.
Thanks.
Hai
Can u help us for installing apc extension. We are on suse 10.3
How can you install this on RHEL?
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
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