- 1 1. Introduzione
- 2 2. Prerequisiti e Preparazione
- 3 3. Come Installare PHP
- 4 4. Verifica dell’installazione di PHP
- 5 5. Installazione dei moduli PHP più comuni
- 6 6. Gestione e cambio delle versioni PHP
- 7 7. Configurare l’integrazione con Apache e Nginx
- 8 8. Risoluzione dei problemi
- 9 9 Conclusione
- 10 10. Domande frequenti (FAQ)
- 10.1 Q1. Come installo l’ultima versione di PHP su Ubuntu?
- 10.2 Q2. Come posso cambiare le versioni di PHP sulla CLI?
- 10.3 Q3. Apache mostra il mio file PHP come testo semplice invece di eseguirlo.
- 10.4 Q4. Dove si trova il file di configurazione di PHP (php.ini)?
- 10.5 Q5. Come abilito un’estensione PHP?
- 10.6 Q6. PHP non funziona correttamente con Nginx. Cosa devo controllare?
- 10.7 Q7. Gli errori PHP non vengono mostrati a schermo.
1. Introduzione
Perché Usare PHP su Ubuntu?
PHP è un linguaggio di scripting lato server ampiamente utilizzato in molte applicazioni web, inclusi WordPress. È uno standard nello sviluppo web da molti anni, alimentando numerosi CMS e framework.
Ubuntu è una distribuzione Linux altamente stabile preferita dagli sviluppatori in tutto il mondo ed è particolarmente adatta per l’uso server. La combinazione di Ubuntu e PHP è ampiamente adottata, dai progetti personali agli ambienti di produzione enterprise.
Per Chi È Questo Articolo e Il Suo Scopo
Questa guida è per tutti, dai principianti—che vogliono installare PHP su Ubuntu ma non sanno da dove iniziare—agli utenti intermedi che vogliono installare una versione specifica di PHP. Forniamo istruzioni chiare, passo-passo.
Usiamo Ubuntu 22.04 LTS come ambiente di esempio, ma i passaggi sono generalmente simili per altre versioni.
Cosa Imparerai in Questo Articolo
Leggendo questa guida, sarai in grado di comprendere e eseguire i seguenti compiti:
- Metodi base per installare PHP su Ubuntu
- Come installare e passare tra più versioni di PHP
- Come verificare che PHP funzioni e risolvere problemi
- Come configurare l’integrazione con Apache o Nginx
- Come installare moduli PHP comunemente usati
2. Prerequisiti e Preparazione
Come Controllare la Tua Versione di Ubuntu
Prima, controlla quale versione di Ubuntu stai usando. I passaggi di installazione e i moduli PHP disponibili potrebbero variare leggermente a seconda della tua versione di Ubuntu.
Puoi controllare la versione di Ubuntu con questo comando:
lsb_release -a
In alternativa, puoi usare il seguente comando:
cat /etc/os-release
Questo articolo si basa su Ubuntu 22.04 LTS, ma la procedura base si applica anche a 20.04 e 23.10.
Mantieni i Pacchetti del Tuo Sistema Aggiornati
Prima di installare PHP, è essenziale aggiornare i pacchetti del tuo sistema alle versioni più recenti. Questo aiuta a evitare problemi di dipendenze o incoerenze. Aggiorna con i seguenti comandi:
sudo apt update
sudo apt upgrade -y
Questo aggiorna l’indice dei pacchetti APT, assicurandosi che tu stia installando i pacchetti più recenti.
Installa le Utilità Richieste
Quando installi alcune versioni di PHP, avrai bisogno del pacchetto software-properties-common per aggiungere repository e gestire pacchetti. Se non è già installato, fallo con:
sudo apt install -y software-properties-common
Questo pacchetto è necessario per comandi come add-apt-repository, specialmente quando si usa un PPA (Personal Package Archive) per installare versioni specifiche di PHP.
Usare Privilegi Root o Sudo
La maggior parte dei passaggi in questo articolo coinvolge modifiche al sistema, quindi dovrai usare sudo con i tuoi comandi. Se non sei familiare, rivedi le basi del comando sudo prima di procedere.
3. Come Installare PHP
Ci sono due modi principali per installare PHP su Ubuntu: usando il repository predefinito, o specificando una versione tramite un PPA (Personal Package Archive). Descriveremo entrambi i metodi.
Installare PHP dal Repository Predefinito
Il repository predefinito di Ubuntu fornisce versioni stabili di PHP. Se non hai bisogno di una versione specifica, esegui semplicemente:
sudo apt install -y php
Dopo l’installazione, controlla che PHP sia installato correttamente:
php -v
Esempio:
PHP 8.1.2 (cli) (built: ...)
Su Ubuntu 22.04, PHP 8.1 è fornito per impostazione predefinita.
Installare una Versione Specifica Usando PPA
Se vuoi l’ultima versione di PHP o hai bisogno di usare più versioni, puoi aggiungere il PPA affidabile ondrej/php e specificare la versione che desideri.
Passo 1: Aggiungi il Repository PPA
sudo add-apt-repository ppa:ondrej/php
sudo apt update
Questo repository è ampiamente usato nella comunità Ubuntu e offre build stabili per tutte le principali versioni di PHP.
Passo 2: Installa la Tua 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 nello stesso modo.
Passo 3: Controlla la Versione Installata
php -v
Se la versione specifica è stata installata correttamente, verrà visualizzata qui.
4. Verifica dell’installazione di PHP
Una volta installato PHP, verifica che funzioni. Su Ubuntu, puoi verificarlo tramite la riga di comando (CLI) e anche attraverso il tuo server web (Apache o Nginx). Ecco come:
Verifica tramite riga di comando (CLI)
Mostra la versione di PHP nel terminale per confermare che PHP funzioni:
php -v
Se vedi la versione di PHP e le informazioni di build, PHP funziona nella CLI.
Output di esempio:
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 (esempio Apache)
Se stai usando Apache, crea una pagina di test con la funzione phpinfo() per verificare che PHP funzioni con Apache.
1. Crea il file di test
Crea un file PHP nella directory web di Apache (di solito /var/www/html) con:
echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/info.php
2. Controlla nel tuo browser
Accedi al file nel tuo browser. Sulla tua macchina locale, visita:
http://localhost/info.php
3. Rivedi l’output
Se vedi informazioni dettagliate su PHP, PHP funziona tramite Apache.
🔍 Suggerimento: Poiché
phpinfo()può mostrare informazioni sensibili, elimina il fileinfo.phpdopo la verifica.
sudo rm /var/www/html/info.php
Verifica con Nginx + PHP-FPM
Se usi Nginx, PHP gira tramite php-fpm. Assicurati che Nginx sia configurato per gestire i file .php, poi crea info.php come sopra. Se vedi un errore 500 o una richiesta di download, controlla le impostazioni di Nginx, in particolare fastcgi_pass e include fastcgi-php.conf;.
5. Installazione dei moduli PHP più comuni
L’installazione di base di PHP non include tutte le funzionalità. Molte sono fornite come moduli (estensioni) che devono essere installati secondo necessità. Qui presentiamo i moduli PHP essenziali per lo sviluppo e la produzione.
Cosa sono i moduli PHP?
I moduli PHP (o estensioni) aggiungono funzionalità come la connettività al database, l’elaborazione di stringhe multibyte, la manipolazione di immagini o la gestione di XML.
I moduli sono disponibili come pacchetti APT e possono essere installati così:
sudo apt install php-[module-name]
Per specificare una versione, usa qualcosa come php8.2-mbstring.

Moduli PHP chiave e i loro usi
php-mbstring (Supporto alle stringhe multibyte)
Necessario per gestire caratteri multibyte come il giapponese. Essenziale per siti giapponesi o per l’elaborazione di email.
sudo apt install php-mbstring
php-mysql (Connettività MySQL/MariaDB)
Necessario per connettersi a database MySQL o MariaDB. Richiesto per applicazioni come WordPress che usano un database.
sudo apt install php-mysql
php-gd (Elaborazione immagini)
Gestisce la creazione, conversione e ridimensionamento di immagini; usato per generare screenshot o miniature.
sudo apt install php-gd
php-xml (Elaborazione XML)
Necessario per gestire dati basati su XML come feed RSS o SOAP. Usato nei CMS e per l’integrazione di API.
sudo apt install php-xml
php-curl (Comunicazione HTTP)
Usato per inviare richieste HTTP, ad esempio quando si integra con API esterne. Ampiamente usato dai framework moderni.
sudo apt install php-curl
php-zip (Gestione file ZIP)
Gestisce la compressione e l’estrazione di file ZIP; utile per funzionalità di upload di file.
sudo apt install php-zip
Abilitazione dei moduli e riavvio dei servizi
Alcuni moduli richiedono l’abilitazione esplicita dopo l’installazione. Usa phpenmod come segue:
sudo phpenmod [module-name]
sudo systemctl restart apache2
Le modifiche hanno effetto dopo il riavvio del server web.
6. Gestione e cambio delle versioni PHP
Ubuntu ti consente di installare e usare più versioni di PHP su un unico server. Questo è utile quando ospiti più app o sviluppi in ambienti diversi. Ecco come cambiare versione nella CLI e con Apache.
Cambio delle versioni PHP nella CLI
Comando: update-alternatives
Usa update-alternatives per cambiare facilmente la versione di PHP usata nella CLI.
Passo 1: Elencare le versioni PHP installate
ls /usr/bin/php*
Passo 2: Registrare le versioni PHP con update-alternatives (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 da utilizzare
sudo update-alternatives --config php
Questo mostra una schermata di selezione come:
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:
Digitare il numero della versione desiderata e premere Invio.
Passo 4: Confermare la versione
php -v
Cambiare le versioni PHP con Apache
Con Apache, è possibile abilitare o disabilitare i moduli PHP per versione. Ecco come selezionare la versione preferita:
1. Elencare i moduli disponibili
ls /etc/apache2/mods-available | grep php
2. Disabilitare il modulo corrente
sudo a2dismod php7.4
3. Abilitare la versione desiderata
sudo a2enmod php8.2
4. Riavviare Apache
sudo systemctl restart apache2
Questo applica le modifiche sia alla CLI che ad Apache.
7. Configurare l’integrazione con Apache e Nginx
PHP diventa davvero potente quando è integrato con un server web. Su Ubuntu, di solito si utilizza Apache o Nginx. Ecco come collegare PHP a entrambi.
Configurare Apache (mod_php)
Con Apache, il modulo mod_php consente di eseguire direttamente gli script PHP. È facile da configurare, rendendolo una buona scelta per WordPress e altri CMS.
Passo 1: Installare Apache e mod_php
sudo apt install -y apache2 libapache2-mod-php
Con libapache2-mod-php installato, Apache può elaborare i file PHP.
Passo 2: Riavviare Apache
sudo systemctl restart apache2
Passo 3: Testare con un file PHP
Creare un file test.php in /var/www/html e controllare nel browser:
<?php
phpinfo();
?>
URL di esempio:
http://localhost/test.php
Configurare Nginx (PHP-FPM)
Nginx è leggero e veloce, ma non può elaborare PHP direttamente. Si utilizzerà PHP-FPM (FastCGI Process Manager) per il supporto PHP.
Passo 1: Installare Nginx e PHP-FPM
sudo apt install -y nginx php-fpm
Passo 2: Modificare il file di configurazione di Nginx
Modificare /etc/nginx/sites-available/default (o la configurazione del virtual host):
sudo nano /etc/nginx/sites-available/default
Aggiungere o aggiornare questo blocco:
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
Passo 3: Riavviare Nginx
sudo systemctl restart nginx
Passo 4: Testare con un file PHP
Creare /var/www/html/test.php e controllare nel browser, come con Apache.
Nota: Impostazioni del firewall (se necessario)
Se si utilizza UFW (Uncomplicated Firewall), consentire l’accesso con:
sudo ufw allow 'Apache Full'
# or
sudo ufw allow 'Nginx Full'
Apache è facile da configurare, mentre Nginx offre alte prestazioni. Scegliere la soluzione più adatta e assicurarsi che l’integrazione PHP sia configurata correttamente.
8. Risoluzione dei problemi
A volte PHP potrebbe non funzionare come previsto, anche dopo l’installazione e l’integrazione con il server. Questa sezione copre i problemi comuni, le loro cause e le soluzioni.
PHP non funziona (codice sorgente mostrato nel browser)
Causa
Ciò si verifica quando Apache o Nginx mostrano il file PHP come testo semplice invece di elaborarlo. Il modulo PHP o le impostazioni FastCGI potrebbero non essere configurate correttamente.
Soluzione
- Per Apache: Verificare che
libapache2-mod-phpsia installato e abilitato, quindi riavviare Apache.sudo apt install libapache2-mod-php sudo systemctl restart apache2
- Per Nginx: Verifica che
php-fpmsia installato e che la configurazione di Nginx abbia il correttofastcgi_passe le impostazioni.sudo systemctl restart php8.2-fpm sudo systemctl restart nginx
Alcune funzionalità PHP non funzionano (Funzioni non definite)
Causa
Di solito ciò accade perché il modulo PHP richiesto non è installato o abilitato.
Soluzione
- Installa i moduli necessari, come
mbstring,xmlocurl:sudo apt install php-mbstring php-xml php-curl
- Dopo aver abilitato un modulo, riavvia il tuo server web.
sudo systemctl restart apache2 # or nginx
- Controlla i moduli abilitati con:
php -m
Errori PHP non visualizzati
Causa
Per impostazione predefinita, i messaggi di errore di PHP potrebbero essere disattivati.
Soluzione
Modifica php.ini e cambia le impostazioni di visualizzazione degli errori:
sudo nano /etc/php/8.2/apache2/php.ini
Trova e imposta quanto segue:
display_errors = On
error_reporting = E_ALL
Quindi riavvia il tuo server web:
sudo systemctl restart apache2
Come controllare i log degli errori
Per Apache:
/var/log/apache2/error.log
Per Nginx:
/var/log/nginx/error.log
Per PHP-FPM (con Nginx):
/var/log/php8.2-fpm.log
Controlla questi log per la risoluzione dei problemi:
sudo tail -f /var/log/apache2/error.log
Quando si verificano errori, ricorda: Controlla i log → Rivedi la configurazione → Riavvia il server. Mantieni la calma e risolvi i problemi passo dopo passo.
9 Conclusione
Questo articolo ha spiegato—dalle basi ai passaggi avanzati—come installare PHP su Ubuntu. Ecco i punti chiave e i prossimi passi da esplorare.
Riepilogo dei punti chiave
- Verifica la versione di Ubuntu e prepara Controllare la versione del tuo OS e aggiornare i pacchetti è fondamentale per un’installazione fluida di PHP.
- Due modi per installare PHP Installa facilmente dal repository predefinito, oppure usa un PPA per versioni specifiche.
- Verifica dopo l’installazione Usa
php -vephpinfo()per controllare PHP nella CLI e nei contesti web. - Estendi le funzionalità con i moduli Installa i moduli più comuni come
php-mbstringephp-mysqlsecondo necessità. - Passa tra più versioni Gestisci facilmente le versioni con
update-alternativeso cambiando i moduli di Apache. - Integrazione corretta con Apache/Nginx Una configurazione appropriata con il server web scelto garantisce un’operazione stabile.
- Controlla i log per la risoluzione dei problemi Se PHP non visualizza o non funziona correttamente, la revisione dei log degli errori è il primo passo più efficace.
Prossimi passi da apprendere
Dopo aver installato PHP su Ubuntu, potresti voler approfondire questi argomenti correlati:
- Installare MySQL (MariaDB) e collegare i database
- Installare e configurare WordPress
- Usare framework PHP come Laravel
- Abilitare HTTPS (configurare certificati SSL con Let’s Encrypt)
- Gestire l’avvio automatico e i riavvii (usando systemd)
Con questi, puoi costruire servizi web e applicazioni ancora più avanzati. Ubuntu e PHP insieme offrono un ambiente di sviluppo open-source robusto e flessibile. Usa questo articolo come base per passare a nuovi progetti!
10. Domande frequenti (FAQ)
Questa FAQ copre gli ostacoli comuni e le domande che gli utenti spesso cercano quando installano o configurano PHP su Ubuntu. Le risposte sono mantenute semplici e pratiche, anche per i principianti.
Q1. Come installo l’ultima versione di PHP su Ubuntu?
A1.
L’ultima versione di PHP non è sempre presente nel repository predefinito di Ubuntu. Aggiungi il PPA affidabile ondrej/php, quindi installa la versione desiderata.
sudo add-apt-repository ppa:ondrej/php
sudo apt update
sudo apt install php8.2
Q2. Come posso cambiare le versioni di PHP sulla CLI?
A2.
Se hai più versioni installate, usa update-alternatives per passare da una all’altra.
sudo update-alternatives --config php
Inserisci il numero della versione preferita dall’elenco visualizzato.
Q3. Apache mostra il mio file PHP come testo semplice invece di eseguirlo.
A3.
Questo significa che Apache non sta elaborando PHP—lo sta restituendo come testo semplice. Verifica che il modulo libapache2-mod-php sia abilitato e riavvia Apache:
sudo apt install libapache2-mod-php
sudo systemctl restart apache2
Q4. Dove si trova il file di configurazione di PHP (php.ini)?
A4.
Esistono file separati per l’uso da riga di comando (CLI) e per il server web. Le posizioni più comuni sono:
- Per Apache:
/etc/php/8.2/apache2/php.ini - Per CLI:
/etc/php/8.2/cli/php.ini
La parte “8.2” varia a seconda della versione di PHP installata.
Q5. Come abilito un’estensione PHP?
A5.
Dopo l’installazione, abilita il modulo con phpenmod:
sudo phpenmod mbstring
sudo systemctl restart apache2
Riavvia il server web dopo aver abilitato l’estensione.
Q6. PHP non funziona correttamente con Nginx. Cosa devo controllare?
A6.
Nginx richiede php-fpm per elaborare PHP. Assicurati che la tua configurazione includa la voce corretta fastcgi_pass:
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.2-fpm.sock;
}
Adatta la parte .sock in base alla tua versione di PHP.
Q7. Gli errori PHP non vengono mostrati a schermo.
A7.
Nel file php.ini, display_errors potrebbe essere impostato su Off. Per lo sviluppo, puoi abilitarlo così:
display_errors = On
error_reporting = E_ALL
Riavvia il server web dopo aver apportato le modifiche.
Queste FAQ ti aiuteranno a evitare problemi comuni quando usi PHP su Ubuntu. Tieni queste informazioni a portata di mano per una risoluzione dei problemi più fluida!


