Come installare PHP 8 su Ubuntu 20.04 LTS

5 dic 2020 3 min di lettura
Come installare PHP 8 su Ubuntu 20.04 LTS
Indice dei contenuti

Introduzione

PHP è uno dei linguaggi di programmazione lato server più utilizzati. Molti CMS e framework popolari come WordPress, Magento e Laravel sono scritti in PHP.

PHP 8.0 è l'ultima major release del linguaggio PHP. Introduce diverse modifiche sostanziali, miglioramenti delle prestazioni e molte nuove funzionalità come argomenti con nome, compilatore JIT, tipi di unione (union types), espressioni di corrispondenza (match expression) e altro ancora.

Questo articolo ti mostrerà come installare PHP 8 su Ubuntu 20.04 LTS e integrarlo con Nginx e Apache.

Al momento della scrittura di questo tutorial, i repository di Ubuntu 20.04 LTS predefiniti includono la versione PHP 7.4. Installeremo PHP dal repository PPA ondrej/php.

Prima di aggiornare o installare PHP 8, assicurati che le tue applicazioni lo supportino.

Se desideri installare PHP 8 su un server in remoto continua a leggere, altrimenti salta il primo paragrafo "Connessione al Server" e leggi il successivo.

Connessione al Server

Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digitare il seguente comando:

ssh root@IP_DEL_SERVER

Successivamente sarà necessario inserire la password dell'utente root.

Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare root con il vostro nome_utente:

ssh nome_utente@IP_DEL_SERVER

Successivamente vi verrà chiesto di inserire la password del vostro utente.

La porta standard per connettersi tramite ssh è la 22, se il vostro server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Abilitare il repository PHP

Ondřej Surý, uno sviluppatore Debian, mantiene un repository che include più versioni PHP. Per aggiungere il repository, esegui il seguente comando:

sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php

Una volta abilitato il PPA, puoi installare PHP 8.

Installare PHP 8 con Apache

Se utilizzi Apache come server web, puoi eseguire PHP come modulo Apache o PHP-FPM.

Installare PHP come modulo Apache

L'installazione di PHP come modulo Apache è un'operazione semplice:

sudo apt update
sudo apt install php8.0-fpm libapache2-mod-fcgid

Una volta installati i pacchetti, riavvia Apache per caricare il modulo PHP:

sudo systemctl restart apache2

Configurare Apache con PHP-FPM

Php-FPM è un process manager FastCGI per PHP. Eseguire il seguente comando per installare i pacchetti necessari:

sudo apt update
sudo apt install php8.0-fpm libapache2-mod-fcgid

Per impostazione predefinita, PHP-FPM non è abilitato in Apache. Per abilitarlo, esegui:

sudo a2enmod proxy_fcgi setenvif
sudo a2enconf php8.0-fpm

Per attivare le modifiche, riavvia Apache:

systemctl restart apache2

Installare PHP 8 con Nginx

Nginx non ha il supporto integrato per l'elaborazione dei file PHP. Useremo PHP-FPM ("fastCGI process manager") per gestire i file PHP.

Esegui i seguenti comandi per installare i pacchetti PHP e PHP FPM:

sudo apt update
sudo apt install php8.0-fpm

Una volta completata l'installazione, il servizio FPM verrà avviato automaticamente. Per controllare lo stato del servizio, esegui

systemctl status php8.0-fpm
● php8.0-fpm.service - The PHP 8.0 FastCGI Process Manager
     Loaded: loaded (/lib/systemd/system/php8.0-fpm.service; enabled; vendor preset: enabled)
     Active: active (running) since Fri 2020-12-04 20:31:32 CET; 3h 23min ago
       Docs: man:php-fpm8.0(8)
    Process: 150630 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/8.0/fpm/pool.d/www.conf 80 (code=exited, status=0/SUCCESS)
   Main PID: 150615 (php-fpm8.0)
     Status: "Processes active: 0, idle: 2, Requests: 1, slow: 0, Traffic: 0req/sec"
      Tasks: 3 (limit: 2286)
     Memory: 7.9M
     CGroup: /system.slice/php8.0-fpm.service

È ora possibile modificare il Nginx server block e aggiungere le seguenti righe in modo che Nginx possa elaborare i file PHP:

server {

    # . . . other code

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.0-fpm.sock;
    }
}

Non dimenticare di riavviare il servizio Nginx in modo che la nuova configurazione abbia effetto:

sudo systemctl restart nginx

Installare estensioni PHP

Le estensioni PHP sono librerie compilate che estendono le funzionalità principali di PHP. Le estensioni sono disponibili come pacchetti e possono essere facilmente installate con apt:

sudo apt install php8.0-[extname]

Ad esempio, per installare le estensioni MySQL e GD, dovresti eseguire il seguente comando:

sudo apt install php8.0-mysql php8.0-gd

Dopo aver installato una nuova estensione PHP, non dimenticare di riavviare il servizio Apache o PHP FPM, a seconda della configurazione.

Testare l'elaborazione PHP

Per verificare se il server Web è configurato correttamente per l'elaborazione PHP, creare un nuovo file denominato info.php all'interno della directory /var/www/html con il seguente codice :

<?php

phpinfo();
/var/www/html/info.php

Salvare il file, aprire il browser e visitare il sito: http://dominio_oppure_ip/info.php.

Vedrai le informazioni sulla tua configurazione PHP  inclusa la versione installata.

Conclusione

L'installazione di PHP 8 sul server Ubuntu 20.04 LTS è un'operazione semplice. Tutto quello che devi fare è abilitare il repository ondrej/php e installare PHP 8 con apt.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.