This brief tutorial walks you through the steps to switch between multiple PHP versions in Ubuntu Linux and its derivatives. This guide is officially tested on Ubuntu 18.04 LTS server edition. It may work on other older or newer Ubuntu versions as well.
Introduction
Sometimes, the most recent version of an installed package might not work as you expected. Your application may not compatible with the updated package and support only a specific old version of package.
In such cases, you can simply downgrade the problematic package to its earlier working version in no time. Refer our old guides on how to downgrade a package in Ubuntu and its variants here and how to downgrade a package in Arch Linux and its derivatives here.
In some situations, you need not to downgrade the problematic packages. In Linux, we can use multiple versions of the same package at the same time, side by side.
For instance, let us say you are testing a PHP application in LAMP stack deployed in Ubuntu 18.04 LTS. After a while you find out that the application worked fine in PHP 5.6, but not in PHP 7.2 (Ubuntu 18.04 LTS installs PHP 7.x by default).
Are you going to reinstall PHP or the whole LAMP stack again? Not necessary.
You don't even have to downgrade the PHP to its earlier version. You can simply switch to the previous working PHP version in couple minutes.
1. Switch Between Multiple PHP Versions
Let us check the default installed version of PHP using command:
$ php -v
Sample output:
PHP 7.2.7-0ubuntu0.18.04.2 (cli) (built: Jul 4 2018 16:55:24) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.7-0ubuntu0.18.04.2, Copyright (c) 1999-2018, by Zend Technologies
As you can see, the installed version of PHP is 7.2.7.
After testing your application for couple days, you find out that your application doesn't support PHP 7.2. In that case, it is a good idea to have both PHP 5.x version and PHP 7.x version, so that you can easily switch between any supported version at any time.
You don't need to remove PHP 7.x or reinstall LAMP stack. You can use both PHP 5.x and 7.x versions together.
I assume you didn't uninstall php 5.6 in your system yet. Just in case, you removed it already, you can install it again using a PPA like below.