Per chi ha installato manualmente l’ultima versione di PHP (la 7.0) o per chi ha installato l’ultima versione del suo OS (esempio Ubuntu 16.04) probabilmente si sarà ritrovato con qualche vecchia applicazione web PHP non più funzionante a causa dell’uso di funzioni deprecate nella versione php5.6 e non più presenti nella versione php7.0 (come per esempio mysql_connect e le varie funzioni mysql_* sostituite da mysqli).

Come cambiare versione di PHP da 7.0 a 5.6 e viceversa

Quindi, per riavere funzionanti queste vecchie applicazioni bisogna installare php5.6 e fare in modo che il servizio Apache2 (o CLI a seconda di ciò che si usa) utilizzi php5.6. Ciò si può fare tramite dei semplici comandi.

Per installare php5.6 e/o php7.0 nelle debian-base possiamo utilizzare i seguenti comandi che aggiungano la ppa onderj/php.

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-get install php7.0 php5.6 php5.6-mysql php-gettext php5.6-mbstring php-xdebug libapache2-mod-php5.6 libapache2-mod-php7.0

Adesso per cambiare versione da 5.6 a 7.0 e viceversa in Apache2 o CLI e riavviare il rispettivo servizio usiamo i seguenti comandi:

5.6 -> 7.0
Apache2:

sudo a2dismod php5.6; sudo a2enmod php7.0; sudo service apache2 restart

CLI:

update-alternatives --set php /usr/bin/php7.0

7.0 -> 5.6
Apache2:

sudo a2dismod php7.0; sudo a2enmod php5.6; sudo service apache2 restart

CLI:

 sudo update-alternatives --set php /usr/bin/php5.6

(la guida è stata tradotta da qui)