Il linguaggio open source PHP (Hypertext Preprocessor) è da tempo utilizzato per lo sviluppo di siti e applicazioni web. È un linguaggio di scripting lato server che può essere incorporato in HTML.
Attualmente le versioni con supporto attivo sono quelle >= 8.0 ma spesso ci possiamo imbattere in applicativi che richiedono versioni precedenti.
In questo articolo spiegheremo come installare tutte le versioni ancora supportate di PHP su un server basato su Ubuntu, insieme alle relative estensioni PHP, sia per i server web Apache che Nginx, utilizzando Ondřej Surý PPA. Vedremo anche come impostare la versione predefinita di PHP da utilizzare sul sistema Ubuntu.
Innanzitutto dobbiamo aggiungere i nuovi repository quindi apriamo il terminale e digitiamo in sequenza i seguenti comandi:
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
Poi aggiorniamo il sistema:
sudo apt-get update
Ora passiamo all’installazione della versione di PHP desiderata con i comandi riportati di seguito:
Per server Apache
sudo apt install phpX.X
Per server Nginx
sudo apt install phpX.X-fpm
Ovviamente andremo a sostituire X.X con la versione PHP desiderata.
Ora andiamo ad installare un qualsiasi modulo PHP di una versione specifica. Di seguito alcuni esempi:
sudo apt install phpX.X-cli phpX.X-xml phpX.X-mysql
Anche in questo caso sostituiamo X.X con la versione PHP di nostro interesse.
Nel caso avessimo più versioni di PHP installate sul nostro sistema, possiamo impostarne una come predefinita utilizzando il seguente comando:
sudo update-alternatives --set php /usr/bin/phpX.X
Dopo averlo eseguito possiamo verificare la versione di PHP in uso:
php -v
Per impostare la versione di PHP che andrà a lavorare con il web server Apache dobbiamo procedere come illustrato di seguito, prima disabilitiamo la versione attualmente abilitata con a2dismod
, poi con a2enmod
abilitiamo quella desiderata:
sudo a2dismod phpX.X
sudo a2enmod phpY.Y
Ovviamente sostituire X.X con la versione PHP da disabilitare e Y.Y con la versione PHP da abilitare.
Dopo queste modifiche riavviamo Apache:
sudo systemctl restart apache2
E’ tutto.