I am trying to revert my PHP version to 5.6 from 7 and though I removed PHP 7 and then installed PHP 5.6 I still seem to be running version 7.
Is there a simple method for moving through PHP versions where apache, phpMyAdmin and co are configured appropriately?
A simple way to change the current version of PHP on the fly and even site by site would be great.
Update
Today I got again problem with PHP 7 running despite I have disabled
php7.0
apache module:phpinfo
was showing php 7 using fastCGI ...... So if after you follow the below instructions you face this situation, you may need to disable the
proxy_fcgi
apache module:1. Re-Install PHP 5.6
What worked for me was this guide: http://www.lornajane.net/posts/2016/php-7-0-and-5-6-on-ubuntu
Actually is not required to remove
php7.0
, you can install php5.6 together ( also because you will have dependency problem withphpmyadmin
package that required php7.0)Assuming
libapache2-mod-php
is a suitable way to enable PHP in Apache for you, you can proceed in this way:2. Switch PHP version:
From php5.6 to php7.0:
Apache:
CLI:
From php7.0 to php5.6:
Apache:
CLI:
Ubuntu 16.04 comes with
php 7.0
, and somephp
applications might still fail withphp 7.0
.Therefore, in some cases, it might be sensible to have bothphp 7.0
andphp 5.x
, so that you can choose which version to use for your needs at any time.You can do so with:
Installing both
php5.6 & php7.0
was clean in my case: no complain of issues, etc.To switch from
php 5.6
tophp 7.0
you need to do two things:or from php7.0 to php5.6:
You can also quickly check which yours is using by running php -v.
Your question lacks important details, so I will answer more broadly.
Assuming you are using packages, there are some important details:
Apache2 can be configured to use either
apache2
SAPI usinglibapache2-mod-php7.0
package or FPM SAPI usingphp7.0-fpm
withmod_proxy_fcgi
.Ubuntu 16.04 has only PHP 7.0 in the repositories, you can use
ppa:ondrej/php
to add support for PHP 5.6 using similar naming scheme (e.g.libapache2-mod-php5.6
orphp5.6-fpm
).If you are using Apache2 SAPI (
libapache2-mod-php*
), you need to disable PHP 7.0 after you installlibapache2-mod-php5.6
by runninga2dismod php7.0
and enable PHP 5.6 by runninga2enmod php5.6
.If you are using FPM SAPI (
php*-fpm
) then you need to change FPM unix socket from/run/php/php7.0-fpm.sock
to/run/php/php5.6-fpm.sock
.Please remember that for modules bundled with PHP (like MySQL) the naming convention is
phpX.Y-<ext>
(f.e.php7.0-mysql
andphp5.6-mysql
), but for external PECL modules (f.e. APCu, mongodb, ...) it's justphp-<ext>
(f.e.php-apcu
,php-mongodb
). I recommend runningapt-cache search php <ext>
on your system to search for correct package name before asking a questions on the Internet.I think you should remove your php packages and install php5.6. You can proceed as follows:
You can then check the version of your php to be sure. It is done as seen below: