CentOS 7 - Plesk - Upgrade PHP CLI 5.4 to 5.6

After installing CentOS 7 and the newest version of Plesk 12 i discovered that the PHP version on my website 5.6.15 was different from the PHP CLI version 5.4.16.

To display a list of installed PHP packages:

yum list installed | grep --color=auto php
php.x86_64                   5.4.45-3.el7.remi               @remi              
php-cli.x86_64               5.4.45-3.el7.remi               @remi              
php-common.x86_64            5.4.45-3.el7.remi               @remi              
php-fpm.x86_64               5.4.45-3.el7.remi               @remi              
php-gd.x86_64                5.4.45-3.el7.remi               @remi              
php-imap.x86_64              5.4.45-3.el7.remi               @remi              
php-ioncube-loader.x86_64    5.0.19-1.el7.remi.5.4           @remi              
php-mbstring.x86_64          5.4.45-3.el7.remi               @remi              
php-mysql.x86_64             5.4.45-3.el7.remi               @remi              
php-pdo.x86_64               5.4.45-3.el7.remi               @remi              
php-xml.x86_64               5.4.45-3.el7.remi               @remi                    
plesk-php56.x86_64           5.6.16-centos7.15120116         @plesk-php-5.6     
plesk-php56-bcmath.x86_64    5.6.16-centos7.15120116         @plesk-php-5.6     
plesk-php56-cli.x86_64       5.6.16-centos7.15120116         @plesk-php-5.6     
plesk-php56-dba.x86_64       5.6.16-centos7.15120116         @plesk-php-5.6     
plesk-php56-enchant.x86_64   5.6.16-centos7.15120116         @plesk-php-5.6     
plesk-php56-fpm.x86_64       5.6.16-centos7.15120116         @plesk-php-5.6     
plesk-php56-gd.x86_64        5.6.16-centos7.15120116         @plesk-php-5.6     
plesk-php56-imagick.x86_64   3.1.2-centos7.15100513          @PHP_5_6_15-dist   
plesk-php56-imap.x86_64      5.6.16-centos7.15120116         @plesk-php-5.6     
plesk-php56-intl.x86_64      5.6.16-centos7.15120116         @plesk-php-5.6     
plesk-php56-ioncube-loader.x86_64
plesk-php56-ldap.x86_64      5.6.16-centos7.15120116         @plesk-php-5.6     
plesk-php56-mbstring.x86_64  5.6.16-centos7.15120116         @plesk-php-5.6     
plesk-php56-mcrypt.x86_64    5.6.16-centos7.15120116         @plesk-php-5.6     
plesk-php56-mysql.x86_64     5.6.16-centos7.15120116         @plesk-php-5.6     
plesk-php56-odbc.x86_64      5.6.16-centos7.15120116         @plesk-php-5.6     
plesk-php56-opcache.x86_64   5.6.16-centos7.15120116         @plesk-php-5.6     
plesk-php56-pdo.x86_64       5.6.16-centos7.15120116         @plesk-php-5.6     
plesk-php56-pear.noarch      1.9.4-centos7.15120116          @plesk-php-5.6     
plesk-php56-pgsql.x86_64     5.6.16-centos7.15120116         @plesk-php-5.6     
plesk-php56-process.x86_64   5.6.16-centos7.15120116         @plesk-php-5.6     
plesk-php56-pspell.x86_64    5.6.16-centos7.15120116         @plesk-php-5.6     
plesk-php56-redis.x86_64     2.2.5-centos7.15100513          @PHP_5_6_15-dist   
plesk-php56-release.x86_64   5.6.16-centos7.15120116         @plesk-php-5.6     
plesk-php56-snmp.x86_64      5.6.16-centos7.15120116         @plesk-php-5.6     
plesk-php56-soap.x86_64      5.6.16-centos7.15120116         @plesk-php-5.6     
plesk-php56-tidy.x86_64      5.6.16-centos7.15120116         @plesk-php-5.6     
plesk-php56-xdebug.x86_64    2.2.3-centos7.15100513          @PHP_5_6_15-dist   
plesk-php56-xml.x86_64       5.6.16-centos7.15120116         @plesk-php-5.6     
plesk-php56-xmlrpc.x86_64    5.6.16-centos7.15120116         @plesk-php-5.6     
psa-phpmyadmin.noarch        4.5.1-cos7.build1205151118.13   @PLESK_12_5_30-dist
psa-phppgadmin.noarch        5.1-cos7.build1205150720.14     @PLESK_12_5_30-dist

Install the php5.6 packages using the remi repository:

yum install epel-release
wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
rpm -Uvh remi-release-7.rpm
nano /etc/yum.repos.d/remi.repo

Set enabled=1 for remi-php56:

[remi-php56]
name=Remi's PHP 5.6 RPM repository for Enterprise Linux 7 - $basearch
#baseurl=http://rpms.remirepo.net/enterprise/7/php56/$basearch/
mirrorlist=http://rpms.remirepo.net/enterprise/7/php56/mirror
# NOTICE: common dependencies are in "remi-safe"
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
yum update php

Check if the new PHP packages are installed:

yum list installed | grep --color=auto php

The same list as above should be displayed including the packages below:

php56.x86_64                 2.1-2.el7.remi                  @remi              
php56-php-cli.x86_64         5.6.17-1.el7.remi               @remi              
php56-php-common.x86_64      5.6.17-1.el7.remi               @remi              
php56-php-fpm.x86_64         5.6.17-1.el7.remi               @remi              
php56-php-gd.x86_64          5.6.17-1.el7.remi               @remi              
php56-php-imap.x86_64        5.6.17-1.el7.remi               @remi              
php56-php-ioncube-loader.x86_64
php56-php-mbstring.x86_64    5.6.17-1.el7.remi               @remi              
php56-php-mysqlnd.x86_64     5.6.17-1.el7.remi               @remi              
php56-php-pdo.x86_64         5.6.17-1.el7.remi               @remi              
php56-php-pear.noarch        1:1.10.1-1.el7.remi             @remi              
php56-php-pecl-jsonc.x86_64  1.3.9-1.el7.remi                @remi              
php56-php-pecl-zip.x86_64    1.13.1-1.el7.remi               @remi              
php56-php-process.x86_64     5.6.17-1.el7.remi               @remi              
php56-php-xml.x86_64         5.6.17-1.el7.remi               @remi              
php56-runtime.x86_64         2.1-2.el7.remi                  @remi

Check if the PHP CLI has been updated:

php -v
PHP 5.6.17 (cli) (built: Jan  6 2016 18:56:36) 
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
    with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v5.0.12, Copyright (c) 2002-2015, by ionCube Ltd.

The following error may occur:

This wil tell you wich PHP is used:

ls -la /usr/bin/ | grep 'php'
lrwxrwxrwx.   1 root root          32 10 jan 22:06 php56 -> /opt/remi/php56/root/usr/bin/php
lrwxrwxrwx.   1 root root          36 10 jan 22:06 php56-cgi -> /opt/remi/php56/root/usr/bin/php-cgi
lrwxrwxrwx.   1 root root          33 10 jan 22:11 php56-pear -> /opt/remi/php56/root/usr/bin/pear
lrwxrwxrwx.   1 root root          38 10 jan 22:06 php56-phar -> /opt/remi/php56/root/usr/bin/phar.phar

Set the correct PHP source:

source /opt/remi/php56/enable
David van der Tuijn
"Mijn naam is David van der Tuijn, als senior php developer bij Floro Webdevelopment B.V. werk ik samen met een projectleider, back-end developers, front-end developers en designers, op basis van een functioneel- (FO) en technisch ontwerp (TO), bouw ik webapplicaties die voldoen aan de nieuwste ontwikkelingen op internet gebied. Ik werk zelfstandig, weet hoe een architectuur opgezet moet worden en kan deze uitdragen in een multidisciplinair team. binnen een project adviseer ik over de juiste methoden en technieken. Ik ontwikkel en bewaak de kwaliteit van de development werkzaamheden in projecten en kan projecten binnen een afgegeven planning afronden."