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 :
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.