Come installare e utilizzare PHP su Ubuntu: Guida completa per principianti 2025

目次

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 file info.php dopo 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-php sia installato e abilitato, quindi riavviare Apache.
    sudo apt install libapache2-mod-php
    sudo systemctl restart apache2
    
  • Per Nginx: Verifica che php-fpm sia installato e che la configurazione di Nginx abbia il corretto fastcgi_pass e 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, xml o curl :
    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 -v e phpinfo() per controllare PHP nella CLI e nei contesti web.
  • Estendi le funzionalità con i moduli Installa i moduli più comuni come php-mbstring e php-mysql secondo necessità.
  • Passa tra più versioni Gestisci facilmente le versioni con update-alternatives o 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!

年収訴求