Home >Backend Development >PHP Tutorial >Let's talk about how to switch between multiple PHP versions in Ubuntu

Let's talk about how to switch between multiple PHP versions in Ubuntu

青灯夜游
青灯夜游forward
2022-08-30 19:37:174299browse

How to switch between multiple PHP versions in Ubuntu? The following article will introduce to you how to switch multiple PHP versions in Ubuntu. I hope it will be helpful to you!

Let's talk about how to switch between multiple PHP versions in Ubuntu

Sometimes, the latest version of the installation package may not work as expected. Your program might be incompatible with newer packages and only support certain older packages. In this case, you can immediately downgrade the problematic package to its earlier working version.

However, you do not need to downgrade certain packages. We can use multiple versions at the same time. For example, suppose you are testing a PHP program deployed in the LAMP stack on Ubuntu 22.04 LTS. After some time, you find that the application works fine in PHP 7.2, but not in PHP 8.1 (Ubuntu 22.04 LTS installs PHP 8.x by default). Are you planning to reinstall PHP or the entire LAMP stack?

But it’s not necessary. You don’t even have to downgrade PHP to its earlier version. In this short tutorial, I'll show you how to switch between multiple PHP versions in Ubuntu 22.04 LTS. It's not as difficult as you think. Please read on.

Switching between multiple PHP versions

To see the default installed version of PHP, run:

root@ubuntu-server:~# php -v
PHP 8.1.7 (cli) (built: Jun 25 2022 08:13:46) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.7, Copyright (c) Zend Technologies
    with Zend OPcache v8.1.7, Copyright (c), by Zend Technologies

As you can see, the The installed version of PHP is 8.1.7. After testing your program for a few days, you will find that your program does not support PHP7.2. In this case, it's a good idea to use both PHP7.x and PHP8.x so that you can easily switch between any supported versions at any time.

You don’t have to remove PHP8.x or reinstall the LAMP stack. You can use both PHP7.x and 8.x versions.

I assume you haven't uninstalled PHP 7.2 on your system yet. In case you have removed it, you can install it again using the PPA below.

sudo add-apt-repository -y ppa:ondrej/php
sudo apt update
sudo apt install php7.2

Switching from PHP 8.x to PHP 7.x

First disable the PHP 8.1 module using the command:

root@ubuntu-server:~# a2dismod php8.1
Module php8.1 disabled.
To activate the new configuration, you need to run:
systemctl restart apache2

Next, enable PHP 7.2 Module:

sudo a2enmod php7.2

Set PHP 7.2 as the default version:

sudo update-alternatives --set php /usr/bin/php7.2

Alternatively, you can run the following command to set the global PHP version to be used by default.

sudo update-alternatives --config php

Enter the selected number to set it as the default version, or simply press Enter to keep the current selection.

If you have other PHP extensions installed, please set them as default.

sudo update-alternatives --set phar /usr/bin/phar7.2

Finally, restart the Apache web server:

sudo systemctl restart apache2

Now, check if PHP 7.2 is the default version:

root@ubuntu-server:~# php -v
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

Switch from PHP 7.x to PHP 8 .x

Similarly, you can switch from PHP 7.x to PHP 8.x version as shown below.

sudo a2enmod php8.1
sudo a2dismod php7.2
sudo update-alternatives --set php /usr/bin/php8.1
sudo systemctl restart apache2

A reminder:

The current stable version of php7.2 has stopped supporting

So, it is recommended to upgrade all PHP programs as soon as possible and integrate with PHP 8. x compatible.

Recommended learning: "PHP Video Tutorial"

The above is the detailed content of Let's talk about how to switch between multiple PHP versions in Ubuntu. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:csdn.net. If there is any infringement, please contact admin@php.cn delete