Introduction
PHP is an open source general-purpose scripting language that is widely used and best suited for developing websites and web applications. It is a server-side scripting language that can be embedded into HTML.
Currently, there are three supported versions of PHP i.e Versions 5.6, 7.0, 7.1and 7.2
. As a modern-day web developer who works on different frameworks, packages need to have the multiple versions of PHP installed on your VPS.
During your development, not all your projects may support the latest version (V. 7.2) resulting you to downgrade to a much earlier version. In this tutorial, we will illustrate how to switch between the different versions of PHP from 7.2 to 7.0 to enable you to run your projects smoothly.
Prerequisites
- Ubuntu 18.04 operating system
- Web server (in this demo, we use Apache web server, you can learn how to install on our tutorial - How To Install Apache, MariaDB, and PHP (LAMP stack) in Ubuntu 18.0
- A non-root user with sudo privileges.
- Have 2 different versions of PHP installed on your VPS
Steps
Upgrade your system packages
$ sudo apt upgrade
Special Note: This tutorial assumes you have already installed PHP 7.0 and 7.2, but in case you do not have any two PHP versions installed on your computer, we will be working with versions 7.0 and 7.2. You can use the following commands below to install them:
$ sudo apt install python-software-properties $ sudo add-apt-repository ppa:ondrej/php $ sudo apt install php7.2 $ sudo apt install php7.0
Run the command to check the set default version of PHP
$ php -v
By default, Ubuntu will set the latest, stable version of PHP as the default i.e. version 7.2.To switch to the alternative version (7.0)
$ sudo a2dismod php7.2$ a2enmod php7.0 $ sudo service apache2 restart $ sudo update-alternatives --set php /usr/bin/php7.2
Special Note: If you are using Nginx server, you can restart it by using the following command:
$ sudo systemctl restart nginx
You can now check the current version of PHP again
:
$ php -v
You will notice the version has changed from version 7.2 to 7.0. Of course, the opposite can be done by following the steps above and replacing the version of PHP in each step and voila! You are back to your previous version.
This process may seem repetitive and tedious, so to make it easy, you can encapsulate the entire process in a function.
To do this, open your .bashrc file with your favorite editor, in this case, we use vim.
$ sudo vim~/.bashrc
Scroll to the last line and type in the following code:
changephpversion () { local IS_PHP7=`php -version|grep "PHP 7.2"` if [[ -z $IS_PHP7 ]] ; then echo "Switching... Please wait" sudo a2dismod php7.0; sudo a2enmod php7.2; sudo service apache2 restart sudo update-alternatives --set php /usr/bin/php7.2 else echo "Switching... Please wait" sudo a2dismod php7.2; sudo a2enmod php7.0; sudo service apache2 restart sudo update-alternatives --set php /usr/bin/php7.0 fi }
Exit your editor while saving changes and incorporate the new changes by typing below command
:
$ source ~/.bashrc
Now when you type changephpversion
on your terminal, the function will automatically switch to the alternative version.
Conclusion
You can try out this tutorial with different PHP versions. Very simple indeed!