Assuming I have three different PHP versions on my system:
- PHP 5.6
- PHP 7.1
- PHP 7.2
To switch two between versions, add these aliases into your ~/.bashrc file:
alias php5671='sudo a2dismod php5.6 ; sudo a2enmod php7.1 ; sudo service apache2 restart ; echo 2 | sudo update-alternatives --config php'
alias php5672='sudo a2dismod php5.6 ; sudo a2enmod php7.2 ; sudo service apache2 restart ; echo 3 | sudo update-alternatives --config php'
alias php7156='sudo a2dismod php7.1 ; sudo a2enmod php5.6 ; sudo service apache2 restart ; echo 1 | sudo update-alternatives --config php'
alias php7172='sudo a2dismod php7.1 ; sudo a2enmod php7.2 ; sudo service apache2 restart ; echo 3 | sudo update-alternatives --config php'
alias php7256='sudo a2dismod php7.2 ; sudo a2enmod php5.6 ; sudo service apache2 restart ; echo 1 | sudo update-alternatives --config php'
alias php7271='sudo a2dismod php7.2 ; sudo a2enmod php7.1 ; sudo service apache2 restart ; echo 2 | sudo update-alternatives --config php'
To activate the alias, type command:
source ~/.bashrc
And you're on.
Type 'php5672' in terminal to switch between PHP 5.6 to PHP 7.2.
alias php8483='sudo update-alternatives --set php /usr/bin/php8.3 && sudo update-alternatives --set phar /usr/bin/phar8.3 && sudo update-alternatives --set phar.phar /usr/bin/phar.phar8.3 && sudo systemctl stop php8.4-fpm && sudo sed -i "s/php8.4-fpm.sock/php8.3-fpm.sock/g" /etc/nginx/sites-enabled/* && sudo systemctl restart nginx php8.3-fpm ; echo 4 | sudo update-alternatives --config php'
alias php8384='sudo update-alternatives --set php /usr/bin/php8.4 && sudo update-alternatives --set phar /usr/bin/phar8.4 && sudo update-alternatives --set phar.phar /usr/bin/phar.phar8.4 && sudo systemctl stop php8.3-fpm && sudo sed -i "s/php8.3-fpm.sock/php8.4-fpm.sock/g" /etc/nginx/sites-enabled/* && sudo systemctl restart nginx php8.4-fpm ; echo 5 | sudo update-alternatives --config php'