
PHP è un popolare linguaggio di scripting gratuito e opensource utilizzato principalmente per lo sviluppo web. Al momento la versione corrente di PHP (al momento della stesura di questo tutorial) è PHP 7.3.14. Tuttavia, CentOS 7 viene fornito con PHP 5.4 per impostazione predefinita.
PHP 5.4 è finalmente terminato a settembre 2015 e non è più supportato dalle principali piattaforme come WordPress, cPanel e WHM. Fortunatamente ora abbiamo PHP 7 e l'ultimo che è PHP 7.3, che è completamente compatibile con la maggior parte delle applicazioni.
In questo tutorial imparerai come installare PHP 7 su CentOS 7. Per essere più specifici, imparerai come installare PHP 7.1, 7.2 e 7.3. Successivamente dimostreremo come integrare PHP 7 con i server Apache e Nginx.
Prerequisiti
Prima di ogni altra cosa, accedi al tuo server come utente normale con privilegi sudo. Questo è il modo più consigliato rispetto all'esecuzione di comandi come utente root.
Abilita repository Remi
Il repository Remi è un repository di terze parti gratuito e popolare che fornisce i pacchetti più recenti e all'avanguardia che non sono disponibili sul tuo sistema CentOS 7.
Il repository Remi dipende da EPEL (Extra Packages for Enterprise Linux), quindi è necessario assicurarsi che esistano sia Remi che EPEL.
Pertanto, esegui il comando seguente per installare EPEL utilizzando il comando yum.
$ sudo yum install epel-release yum-utils

Per installare Remi, esegui il seguente comando:
$ sudo yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

Con EPEL e Remi già installati, procediamo ora e installiamo PHP 7 su CentOS 7.
Installa PHP 7.3 su CentOS 7
Iniziamo installando PHP 7.3 che è l'ultima versione di PHP al momento della stesura di questo. Questa è l'ultima versione e viene fornita con i più recenti sistemi di gestione dei contenuti come WordPress e Joomla e framework come Laravel.
Passaggio 1:abilita il repository Remi PHP 7.3
Per abilitare il repository Remi PHP 7.3 esegui il seguente comando:
$ sudo yum-config-manager --enable remi-php73

Fase 2:installa PHP 7.3 e moduli associati
Con php 7.3 Remi abilitato, ora installa PHP 7.3 e i suoi moduli come mostrato:
$ sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd

Una volta completata l'installazione, puoi verificare la versione di PHP utilizzando il comando:
$ php -v

Installa PHP 7.2 su CentOS 7
Per l'installazione di PHP 7.2 CentOS 7, assicurati di seguire i passaggi seguenti:
Passaggio 1:abilita il repository Remi PHP 7.2
Come abbiamo visto prima, inizia abilitando il repository Remi per PHP 7.2
$ sudo yum-config-manager --enable remi-php72

Fase 2:installa PHP 7.2 e i moduli PHP associati
Quindi, installa PHP 7.2 e i moduli associati come mostrato:
$ sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysqlnd

Quando ti viene chiesto di importare il GPG, premi semplicemente y e premi INVIO

Una volta terminata l'installazione, verifica la versione di PHP utilizzando il comando:
$ php -v

Installa PHP 7.1 su CentOS 7
Infine, installeremo PHP 7.1. Come abbiamo visto nelle 2 versioni precedenti, segui i passaggi seguenti:
Fase 1:abilita il repository Remi PHP 7.1
Come abbiamo visto prima, inizia abilitando il repository Remi per PHP 7.1
$ sudo yum-config-manager --enable remi-php71

Fase 2:installa PHP 7.1 e i moduli PHP associati
Dopo aver abilitato il repository Remi, procedi e installa PHP 7.1 utilizzando il comando:
$ sudo yum install php php-common php-opcache php-mcrypt php-cli php-gd php-curl php-mysql

Quando ti viene richiesta l'importazione della chiave GPG, digita y e premi INVIO

Per verificare l'installazione, eseguire il comando:
$ php -v

Configura PHP 7.x per funzionare con Apache Web Server
Se Apache è il tuo server web preferito, riavvia semplicemente il servizio Apache e la strada sarà liscia per te. Non sono necessarie ulteriori o complesse configurazioni.
$ sudo systemctl restart httpd
Configura PHP 7.x per funzionare con il server Web Nginx
A differenza di Apache, la configurazione di Nginx con PHP 7.x non è così semplice come pensi. Nginx non dispone del supporto per l'elaborazione dei file PHP e, in quanto tale, è necessario installare un set aggiuntivo di pacchetti chiamato PHP FPM che elaborerà i file PHP.
Per installare il pacchetto PHP FPm, esegui il comando:
$ sudo yum install php-fpm

Dopo l'installazione, vai al file di configurazione che si trova in /etc/php-fpm.d/www.conf
Scoprirai che c'è un utente chiamato "apache" in ascolto sulla porta 9000. Cambieremo quell'utente in "nginx" e successivamente regoleremo le linee come mostrato di seguito.
...
user = nginx
...
group = nginx
...
listen = /run/php-fpm/www.sock
...
listen.owner = nginx
listen.group = nginx
Quindi imposta la proprietà corretta sul file /var/lib/php
usando il comando chown come mostrato:
$ sudo chown -R root:nginx /var/lib/php
Quindi abilita e avvia php-fpm come mostrato:
$ sudo systemctl enable php-fpm
$ sudo systemctl start php-fpm

Verifica lo stato eseguendo:
$ sudo systemctl status php-fpm

Se hai configurato il tuo blocco Nginx, devi aggiungere le seguenti righe di configurazione in modo che Nginx possa elaborare i file PHP:
server {
# . . . other code
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
E infine, riavvia il tuo server web per rendere effettive le modifiche
$ sudo systemctl restart nginx
Conclusione
E questo è tutto, gente! Abbiamo dimostrato come installare diverse versioni di PHP 7 su CentOS 7 e versioni successive come configurare diversi server Web per elaborare file PHP. Apache è piuttosto un gioco da ragazzi, ma è necessario prestare maggiore attenzione al server web Nginx. Grazie per il tuo tempo.