HostOnNet Blog

Install PHP 5.6 on CentOS 7 Server

CentOS 7 come with outdated PHp 5.4 for some strange reason only enterprise can understand. I normally prefer Ubuntu 16.04 over CentOS 7 because it come with latest software. Default PHP version with Ubuntu 16.04 is 7.

To install PHP 5.6 on CentOS 7, you need to install remi repository.

yum install -y epel-release
wget https://rpms.remirepo.net/enterprise/remi-release-7.rpm
rpm -ivh remi-release-7.rpm
yum update

If you have older version of PHP, uninstall it with

yum remove php-pdo php-odbc php-xml php-soap php-cli php-devel php-pspell php php-intl php-xmlrpc php-process php-common php-gd php-mysqlnd php-mbstring 

Now you can install PHP 5.6 with

yum install php56 php56-php php56-php-mysqlnd php56-php-gd php56-php-mcrypt php56-php-mbstring php56-php-xml php56-php-cli

If you need ioncube loader, install it with

yum install php56-php-ioncube-loader

php-fpm

if you want to use php-fpm, then install

yum install php56-php-fpm

You can edit php-fpm pool config with

vi /opt/remi/php56/root/etc/php-fpm.d/www.conf

Start/stop/restart php-fpm with

systemctl start php56-php-fpm
systemctl stop php56-php-fpm
systemctl restart php56-php-fpm

In your Apache virtual host file or global Apache config, add

<FilesMatch \.php$>
SetHandler "proxy:fcgi://127.0.0.1:9000"
</FilesMatch>

If you want multiple php version, use different ports or sockets for each php-fpm installation and add the entry in virtual host.


Posted in CentOS