We assume you have installed multiple PHP version on your Debian system. Now you need to switch the active PHP version for CLI and Apache2. This tutorial will help you to switch between multiple PHP versions for Apache server and CLI on Debian.

Read => How to Install PHP on Debian 11 via PPA Read => How to Install PHP on Debian 10 via PPA

We have installed PHP 8.1, PHP 7.4 and PHP 5.6 on our Debian system. You can use the same for other PHP versions by changes commands accordingly.

Enable PHP 8.1 as Default Version

You need to set PHP 8.1 as your active PHP version for CLI and Apache2 both. You can do this by disabling Apache2 modules for all other installed PHP versions and configure CLI using the update-alternatives command.

For Apache:- Run the following command to disable Apache module for other PHP versions.sudo a2dismod php7.4 php5.6 Now, enable PHP 8.1 module in Apache server.sudo a2enmod php8.1 sudo service apache2 restart For Command Line Interface:-sudo update-alternatives –set php /usr/bin/php8.1 sudo update-alternatives –set phar /usr/bin/phar8.1 sudo update-alternatives –set phar.phar /usr/bin/phar.phar8.1 sudo update-alternatives –set phpize /usr/bin/phpize8.1 sudo update-alternatives –set php-config /usr/bin/php-config8.1

Note – The phpize8.1 and php-config8.1 command is available in php8.1-dev package. This is more useful for compiling PHP modules using pecl.

Enable PHP 7.4 as Default Version

You need to set PHP 7.4 as your active PHP version for CLI and Apache2 both. You can do this by disabling Apache2 modules for all other installed PHP versions and configure CLI using the update-alternatives command.

Apache:- Run the following commands to disable Apache module for other PHP versionssudo a2dismod php8.1 php5.6 Now, enable PHP 7.4 module in Apache server.sudo a2enmod php7.4 sudo service apache2 restart Command Line Interface:-sudo update-alternatives –set php /usr/bin/php7.4 sudo update-alternatives –set phar /usr/bin/phar7.4 sudo update-alternatives –set phar.phar /usr/bin/phar.phar7.4 sudo update-alternatives –set phpize /usr/bin/phpize7.4 sudo update-alternatives –set php-config /usr/bin/php-config7.4

Note – The phpize7.4 and php-config7.4 command is available in php7.4-dev package. This is more useful for compiling PHP modules using pecl.

Enable PHP 5.6 as Default Version

The developers of PHP are no longer supporting PHP 5.6. It is strongly recommended to upgrade to higher PHP version like 7.4 or 8.1. But still you can install and Use php 5.6 on your Debian system if your application required PHP 5.6. Let’s set PHP 5.6 as your default version for CLI and Apache2 both.

Apache:- Run the following commands to disable other PHP versions like (php 8.1, php7.4 etc) for Apache and command line.sudo a2dismod php7.4 php8.1 php8.0 Now, enable PHP 5.6 module in Apache server.sudo a2enmod php5.6 sudo service apache2 restart Command Line:-sudo update-alternatives –set php /usr/bin/php5.6 sudo update-alternatives –set phar /usr/bin/phar5.6 sudo update-alternatives –set phar.phar /usr/bin/phar.phar5.6 sudo update-alternatives –set phpize /usr/bin/phpize5.6 sudo update-alternatives –set php-config /usr/bin/php-config5.6

Note – The phpize5.6 and php-config5.6 command is available in php5.6-dev package. This is more useful for compiling PHP modules using pecl.

Conclusion

In this tutorial, you have learned about switching PHP versions on Debian system. You can change the default PHP version without uninstalling the other versions.