Come installare PHP su Ubuntu: Guida completa dal principiante all’avanzato (Ubuntu 22.04 LTS)

目次

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