Introduzione
In questo tutorial tratteremo i passaggi necessari per installare il PHP 7.4
predefinito della distribuzione Ubuntu 20.04 LTS Focal Fossa e integrarlo con Nginx e Apache.
La maggior parte dei popolari framework e applicazioni PHP, inclusi WordPress, Laravel, Drupal e Nextcloud, sono compatibili con PHP 7.4
.
Prerequisiti
Prima di iniziare con questa esercitazione, assicurarsi di aver effettuato l'accesso come utente con privilegi sudo.
Se desideri installare PHP 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
Installare PHP 7.4 per Apache
Se si utilizza Apache come server Web per installare PHP e il modulo PHP di Apache, eseguire il comando seguente:
sudo apt install php libapache2-mod-php
Una volta installati i pacchetti, riavvia il servizio Apache:
sudo systemctl restart apache2
Installare di PHP 7.4 per Nginx
A differenza di Apache, Nginx non ha un supporto integrato per l'elaborazione dei file PHP, quindi è necessario installare un'applicazione separata come PHP FPM ("gestore di processi fastCGI") che gestirà i file PHP.
Per installare i pacchetti FPM PHP e PHP, eseguire il comando seguente:
sudo apt install php-fpm
Una volta installati i pacchetti è possibile verificare lo stato del servizio FPM di PHP con:
systemctl status php7.4-fpm
● php7.4-fpm.service - The PHP 7.4 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.4-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2020-05-06 16:34:04 CEST; 7s ago
Docs: man:php-fpm7.4(8)
Process: 28850 ExecStartPost=/usr/lib/php/php-fpm-socket-helper install /run/php/php-fpm.sock /etc/php/7.4/fpm/pool.d/www.conf 74 (code=exited, status=0/SUCCESS)
Main PID: 28839 (php-fpm7.4)
Status: "Ready to handle connections"
Tasks: 3 (limit: 2286)
Memory: 10.2M
CGroup: /system.slice/php7.4-fpm.service
├─28839 php-fpm: master process (/etc/php/7.4/fpm/php-fpm.conf)
├─28848 php-fpm: pool www
└─28849 php-fpm: pool www
Ora puoi modificare il blocco server Nginx e aggiungere le seguenti righe in modo che Nginx possa elaborare i file PHP specificando la versione installata, in questo caso la 7.4
:
server {
# . . . il resto del codice
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
}
}
Prima di riavviare Nginx, testare la corretta configurazione:
sudo nginx -t
Non dimenticare di riavviare il servizio Nginx in modo che la nuova configurazione abbia effetto:
sudo systemctl restart nginx
Installare estensioni PHP
Per estendere le funzionalità principali di PHP è possibile installare alcune estensioni aggiuntive. Le estensioni PHP sono disponibili come pacchetti e possono essere facilmente installate con:
sudo apt install php-[extname]
Ad esempio, se desideri installare le estensioni MySQL e GD PHP, esegui il comando seguente:
sudo apt install php-mysql php-gd
Dopo aver installato una nuova estensione PHP, non dimenticare di riavviare Apache o il servizio FPM PHP, a seconda della configurazione.
Test di elaborazione PHP
Per verificare se il tuo server web è configurato correttamente per l'elaborazione PHP, crea un nuovo file chiamato info.php
all'interno della directory /var/www/html
con il seguente codice:
sudo nano /var/www/html/info.php
<?php phpinfo(); ?>
Salva il file, apri il browser che preferisci e visita http://TUO_DOMINO_O_IP/info.php
La funzione phpinfo
stamperà le informazioni sulla configurazione di PHP.
Gestire PHP
Per verificare la versione di PHP installata sul sistema, digitare il seguente comando:
php -v
PHP 7.4.3 (cli) (built: May 5 2020 12:14:27) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies
Ipotizzando di aver installato diverse versioni di PHP, è possibile cambiare la versione in uso dal terminale con il seguente comando:
sudo update-alternatives --set php /usr/bin/php7.x
Per cambiare la versione in uso da Apache, utilizzare il seguente comando di esempio, che disabilita php 7.2
e abilita php 7.4
e riavvia Apache:
sudo a2dismod php7.2; sudo a2enmod php7.4; sudo service apache2 restart
Per cambiare la versione in uso per Nginx, è necessario aprire il file di configurazione e cambiare la versione come visto nei paragrafi precedenti.
Conclusione
PHP è stato installato correttamente sul server Ubuntu 20.04 LTS Focal Fossa. Puoi anche leggere come installare e configurare un progetto PHP con Composer.