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 denominati, compilatore JIT, tipi di unione, espressioni di corrispondenza e altro.
Questo articolo ti mostrerà come installare PHP 8 su Ubuntu 20.04 e integrarlo con Nginx e Apache.
Al momento della scrittura, i repository Ubuntu 20.04 predefiniti includono la versione PHP 7.4. Installeremo PHP dal repository ondrej/phpPPA.
Prima di aggiornare o installare PHP 8, assicurati che le tue applicazioni lo supportino.
Gli stessi passaggi si applicano a Ubuntu 18.04 e a tutte le distribuzioni basate su Ubuntu, inclusi Kubuntu, Linux Mint e SO elementare.
Abilitazione del repository PHP #
Ondřej Surý, uno sviluppatore Debian, mantiene un repository che include più versioni di PHP. Per abilitare il repository, esegui:
sudo apt install software-properties-common
sudo add-apt-repository ppa:ondrej/php
Una volta abilitato il PPA, puoi installare PHP 8.
Installazione di PHP 8.0 con Apache #
Se utilizzi Apache come server web, puoi eseguire PHP come modulo Apache o PHP-FPM.
Installa PHP come modulo Apache #
Installare PHP come modulo Apache è un compito semplice:
sudo apt update
sudo apt install php8.0 libapache2-mod-php8.0
Una volta installati i pacchetti, riavvia Apache per caricare il modulo PHP:
sudo systemctl restart apache2
Configura Apache con PHP-FPM #
Php-FPM è un gestore di processi FastCGI per PHP. Esegui il comando seguente 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
Installazione di PHP 8.0 con Nginx #
Nginx non ha il supporto integrato per l'elaborazione di 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 Thu 2020-12-03 16:10:47 UTC; 6s ago
Ora puoi modificare il blocco del server Nginx 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 i servizi Nginxin modo che la nuova configurazione abbia effetto:
sudo systemctl restart nginx
Installazione di 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, eseguire il comando seguente:
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.
Test dell'elaborazione PHP #
Per verificare se il server web è configurato correttamente per l'elaborazione PHP, crea un nuovo file chiamato info.php
all'interno del /var/www/html
directory con il seguente codice:
<?php
phpinfo();
Salva il file, apri il browser e visita:http://your_server_ip/info.php
.
Vedrai informazioni sulla tua configurazione PHP simili alle seguenti: