- 1 1. Introduzione
- 2 2. Prerequisiti e Preparazione
- 3 3. Come Installare PHP
- 4 4. Verifica del funzionamento di PHP
- 5 5. Installazione dei moduli PHP più comuni
- 6 6. Gestione e cambio delle versioni PHP
- 7 7. Integrazione di PHP con Apache e Nginx
- 8 8. Risoluzione dei problemi
- 9 9. Riepilogo
- 10 10. Domande Frequenti (FAQ)
- 10.1 Q1. Come installo l’ultima versione di PHP su Ubuntu?
- 10.2 Q2. Come cambio le versioni di PHP nella CLI?
- 10.3 Q3. Il codice sorgente PHP è visualizzato in Apache.
- 10.4 Q4. Dove si trova php.ini?
- 10.5 Q5. Come abilito i moduli PHP?
- 10.6 Q6. PHP non funziona con Nginx.
- 10.7 Q7. Gli errori PHP non sono visibili.
1. Introduzione
Perché Usare PHP su Ubuntu
PHP è un linguaggio di scripting lato server ampiamente utilizzato in molte applicazioni web, inclusi WordPress. È stato utilizzato estensivamente nello sviluppo web per molti anni, e un gran numero di piattaforme CMS e framework sono basati su PHP.
Ubuntu è una distribuzione Linux altamente stabile utilizzata da sviluppatori in tutto il mondo ed è particolarmente adatta per ambienti server. La combinazione di Ubuntu e PHP è ampiamente adottata, dalle configurazioni di sviluppo personali ai sistemi di produzione di livello enterprise.
Pubblico di Destino e Scopo di Questo Articolo
Questo articolo è destinato a un’ampia gamma di utenti, dai principianti che vogliono installare PHP su Ubuntu ma non sanno da dove iniziare, agli utenti intermedi che devono installare versioni specifiche di PHP. Le procedure sono spiegate nel modo più chiaro possibile.
Le istruzioni sono basate su Ubuntu 22.04 LTS, ma gli stessi passaggi base si applicano anche ad altre versioni.
Cosa Imparerai
Leggendo questo articolo, sarai in grado di comprendere e praticare quanto segue:
- Metodi base per installare PHP su Ubuntu
- Come installare e passare tra più versioni di PHP
- Come verificare il funzionamento di PHP e risolvere problemi
- Configurazione per l’integrazione con Apache e Nginx
- Come installare moduli PHP comunemente utilizzati
2. Prerequisiti e Preparazione
Come Controllare la Versione di Ubuntu
Prima di tutto, controlla quale versione di Ubuntu stai utilizzando. I metodi di installazione di PHP e i moduli supportati possono variare leggermente a seconda della versione di Ubuntu.
Puoi controllare la versione di Ubuntu eseguendo il seguente comando:
lsb_release -a
In alternativa, puoi utilizzare questo comando:
cat /etc/os-release
Questo articolo spiega le procedure basate su Ubuntu 22.04 LTS, ma gli stessi passaggi si applicano generalmente a Ubuntu 20.04 e 23.10.
Mantenere i Pacchetti di Sistema Aggiornati
Prima di installare PHP, è molto importante aggiornare tutti i pacchetti di sistema. Questo aiuta a prevenire problemi di dipendenze e conflitti.
sudo apt update
sudo apt upgrade -y
Questo aggiorna l’indice dei pacchetti APT e garantisce che tutti i pacchetti possano essere installati nelle loro versioni stabili più recenti.
Installare le Utilità Richieste
Alcune versioni di PHP richiedono strumenti aggiuntivi per gestire i repository. Il pacchetto software-properties-common è necessario per aggiungere repository come i PPA.
Se non è installato, installalo utilizzando il seguente comando:
sudo apt install -y software-properties-common
Questo pacchetto è richiesto per comandi come add-apt-repository, che sono comunemente utilizzati quando si installano versioni specifiche di PHP tramite un PPA.
Utilizzare Privilegi Root o sudo
La maggior parte delle operazioni introdotte in questo articolo richiede modifiche a livello di sistema. Assicurati di utilizzare sudo quando esegui i comandi.
3. Come Installare PHP
Esistono due modi principali per installare PHP su Ubuntu. Uno è l’installazione dai repository predefiniti, e l’altro è l’installazione di una versione specifica utilizzando un PPA (Personal Package Archive). Ogni metodo è spiegato in dettaglio di seguito.
Installare PHP dal Repository Predefinito
Ubuntu fornisce una versione stabile di PHP nei suoi repository predefiniti. Se non hai bisogno di una versione specifica, questo è il metodo più semplice.
sudo apt install -y php
Dopo l’installazione, verifica che PHP sia installato correttamente:
php -v
Output di Esempio:
PHP 8.1.2 (cli) (built: ...)
Su Ubuntu 22.04, PHP 8.1 è installato per impostazione predefinita.
Installare una Versione Specifica di PHP Utilizzando un PPA
Se vuoi utilizzare l’ultima versione di PHP o gestire più versioni, puoi aggiungere il PPA ondrej/php.
Passo 1: Aggiungere il Repository PPA
sudo add-apt-repository ppa:ondrej/php
sudo apt update
Questo PPA è ampiamente utilizzato nella comunità Ubuntu e fornisce build stabili per più versioni di PHP.
Passo 2: Installare la Versione di PHP Desiderata
Ad esempio, per installare PHP 8.2:
sudo apt install -y php8.2
Puoi anche installare altre versioni come PHP 7.4 o 8.0.
Passo 3: Verificare la Versione Installata
php -v
4. Verifica del funzionamento di PHP
Dopo aver installato PHP, verifica che funzioni correttamente. Puoi controllarlo tramite la riga di comando e attraverso un server web come Apache o Nginx.
Verifica tramite la riga di comando (CLI)
Per prima cosa, controlla la versione di PHP dal terminale:
php -v
Esempio di output:
PHP 8.2.10 (cli) (built: Aug 23 2023 08:12:10) ( NTS )
Copyright (c) The PHP Group
Zend Engine v4.2.10, Copyright (c) Zend Technologies
Verifica tramite server web (Apache)
Se Apache è installato, crea una pagina di test usando la funzione phpinfo().
1. Crea un file di test
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
2. Accedi tramite il browser
http://localhost/info.php
3. Conferma l’output
Se viene visualizzata l’informazione dettagliata di PHP, PHP funziona correttamente con Apache.
🔍 Nota: L’output di
phpinfo()contiene informazioni sensibili. Elimina il file dopo la verifica.
sudo rm /var/www/html/info.php
Verifica con Nginx + PHP‑FPM
Quando si utilizza Nginx, PHP viene elaborato tramite php-fpm. Per verificare una corretta integrazione, assicurati che i file .php siano configurati correttamente nel file di configurazione di Nginx, quindi crea un file info.php come faresti con Apache.
Se la configurazione è errata, potresti incontrare un errore 500 o vedere il file scaricato anziché eseguito. In questi casi, rivedi le impostazioni come fastcgi_pass e include fastcgi-php.conf; nella configurazione di Nginx.
5. Installazione dei moduli PHP più comuni
Installare solo PHP non fornisce tutte le funzionalità. Molte caratteristiche sono fornite come moduli separati (estensioni) che devono essere installati secondo necessità. Questa sezione presenta i moduli PHP più comunemente usati nello sviluppo e nelle operazioni reali.
Cosa sono i moduli PHP?
I moduli PHP (chiamati anche estensioni) aggiungono capacità specifiche come la connettività al database, la gestione di stringhe multibyte, l’elaborazione di immagini e l’analisi XML.
I moduli sono forniti come pacchetti APT e possono essere installati come segue:
sudo apt install php-module-name
Se desideri specificare una versione, usa un formato come php8.2-mbstring.

Principali moduli PHP e i loro utilizzi
php-mbstring (Supporto per stringhe multibyte)
Questo modulo è essenziale per gestire stringhe di caratteri multibyte come il testo giapponese. È quasi obbligatorio per i siti web giapponesi e per l’elaborazione delle email.
sudo apt install php-mbstring
php-mysql (Connettività MySQL / MariaDB)
Questo modulo è necessario per connettersi a database come MySQL o MariaDB. È fondamentale per applicazioni come WordPress.
sudo apt install php-mysql
php-gd (Elaborazione immagini)
Questo modulo è usato per generare, convertire e ridimensionare immagini, ed è comunemente usato per miniature e manipolazione di immagini.
sudo apt install php-gd
php-xml (Elaborazione XML)
Questo modulo è necessario per gestire dati basati su XML come feed RSS e servizi SOAP. È comunemente usato in piattaforme CMS e integrazioni API.
sudo apt install php-xml
php-curl (Comunicazione HTTP)
Questo modulo consente richieste HTTP dal server, ad esempio quando si integra con API esterne. È richiesto da molti framework moderni.
sudo apt install php-curl
php-zip (Gestione file compressi)
Questo modulo permette di creare ed estrarre file ZIP ed è spesso usato nelle funzionalità di upload di file.
sudo apt install php-zip
Abilitazione dei moduli e riavvio dei servizi
Alcuni moduli richiedono un’attivazione esplicita dopo l’installazione. Usa phpenmod per abilitarli.
sudo phpenmod module_name
sudo systemctl restart apache2
I moduli abilitati hanno effetto dopo il riavvio del server web.
6. Gestione e cambio delle versioni PHP
Ubuntu consente di installare e utilizzare più versioni di PHP su un unico server. Questo è particolarmente utile in ambienti di sviluppo o su server che ospitano più applicazioni web.
Questa sezione spiega come cambiare le versioni di PHP per la CLI e per Apache.
Cambiare le versioni di PHP nella CLI
Comando usato: update-alternatives
È possibile cambiare facilmente la versione di PHP utilizzata nella riga di comando usando update-alternatives.
Passo 1: Verificare le versioni di PHP installate
ls /usr/bin/php*
Passo 2: Registrare le versioni di PHP (solo la prima volta)
sudo update-alternatives --install /usr/bin/php php /usr/bin/php7.4 74
sudo update-alternatives --install /usr/bin/php php /usr/bin/php8.2 82
Passo 3: Selezionare la versione di PHP
sudo update-alternatives --config php
Vedrai un menu di selezione simile al seguente:
There are 2 choices for the alternative php (providing /usr/bin/php).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/php8.2 82 auto mode
1 /usr/bin/php7.4 74 manual mode
2 /usr/bin/php8.2 82 manual mode
Press <enter> to keep the current choice[*], or type selection number:
Passo 4: Verificare la versione
php -v
Cambiare le versioni di PHP in Apache
Quando si utilizza Apache, le versioni di PHP sono gestite tramite i moduli di Apache. È possibile cambiare versione abilitando e disabilitando i moduli.
1. Verificare i moduli disponibili
ls /etc/apache2/mods-available | grep php
2. Disabilitare il modulo attualmente attivo
sudo a2dismod php7.4
3. Abilitare la versione desiderata
sudo a2enmod php8.2
4. Riavviare Apache
sudo systemctl restart apache2
7. Integrazione di PHP con Apache e Nginx
PHP diventa davvero potente quando è integrato con un server web. Su Ubuntu, i server web più comunemente usati sono Apache e Nginx.
Integrazione con Apache (mod_php)
Apache può elaborare gli script PHP direttamente usando il modulo mod_php. Questo metodo è semplice e adatto a piattaforme CMS come WordPress.
Passo 1: Installare Apache e mod_php
sudo apt install -y apache2 libapache2-mod-php
Passo 2: Riavviare Apache
sudo systemctl restart apache2
Passo 3: Testare l’esecuzione di PHP
<?php
phpinfo();
?>
http://localhost/test.php
Integrazione con Nginx (PHP-FPM)
Nginx non elabora PHP direttamente. Si affida invece a PHP-FPM (FastCGI Process Manager).
Passo 1: Installare Nginx e PHP-FPM
sudo apt install -y nginx php-fpm
Passo 2: Modificare la configurazione di Nginx
sudo nano /etc/nginx/sites-available/default
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
Passo 3: Riavviare Nginx
sudo systemctl restart nginx
8. Risoluzione dei problemi
Il codice sorgente PHP viene visualizzato nel browser
Causa
Questo accade quando il server web non elabora correttamente i file PHP.
Soluzione
- Apache:
sudo apt install libapache2-mod-php sudo systemctl restart apache2
- Nginx:
sudo systemctl restart php8.2-fpm sudo systemctl restart nginx
Le funzioni PHP non sono definite
Causa
I moduli PHP richiesti non sono installati o abilitati.
Soluzione
sudo apt install php-mbstring php-xml php-curl
sudo systemctl restart apache2
php -m
Gli errori PHP non vengono visualizzati
Soluzione
sudo nano /etc/php/8.2/apache2/php.ini
display_errors = On
error_reporting = E_ALL
sudo systemctl restart apache2
Posizioni dei file di log
Apache:
/var/log/apache2/error.log
Nginx:
/var/log/nginx/error.log
PHP-FPM:
/var/log/php8.2-fpm.log
9. Riepilogo
Questo articolo ha fornito una spiegazione passo‑passo su come installare PHP su Ubuntu, dalle basi agli argomenti avanzati.
Punti chiave
- Controlla la versione di Ubuntu e aggiorna i pacchetti
- Installa PHP tramite i repository predefiniti o i PPA
- Verifica PHP tramite CLI e server web
- Estendi le funzionalità con i moduli
- Gestisci più versioni di PHP in modo flessibile
- Integra correttamente con Apache o Nginx
- Controlla i log durante la risoluzione dei problemi
Prossimi Passi
- Installa MySQL o MariaDB
- Configura WordPress
- Usa framework PHP come Laravel
- Abilita HTTPS con certificati SSL
- Gestisci i servizi con systemd
Ubuntu e PHP insieme offrono un ambiente di sviluppo robusto e flessibile. Usa questa guida come base e continua ad ampliare le tue competenze.
10. Domande Frequenti (FAQ)
Q1. Come installo l’ultima versione di PHP su Ubuntu?
A. Usa il PPA ondrej/php e specifica la versione desiderata.
Q2. Come cambio le versioni di PHP nella CLI?
sudo update-alternatives --config php
Q3. Il codice sorgente PHP è visualizzato in Apache.
sudo apt install libapache2-mod-php
sudo systemctl restart apache2
Q4. Dove si trova php.ini?
- Apache:
/etc/php/8.2/apache2/php.ini - CLI:
/etc/php/8.2/cli/php.ini
Q5. Come abilito i moduli PHP?
sudo phpenmod mbstring
sudo systemctl restart apache2
Q6. PHP non funziona con Nginx.
Assicurati che php-fpm sia installato e che fastcgi_pass sia configurato correttamente.
Q7. Gli errori PHP non sono visibili.
display_errors = On
error_reporting = E_ALL


