PHP 8.1 è un aggiornamento significativo del linguaggio PHP rilasciato il 25 novembre 2021. Questo è un aggiornamento standard in futuro dalla versione PHP 8.0 esistente. Il nuovo PHP 8.1 porta enum, fibre, tipo mai restituito, costanti di classe finali, tipi di intersezione e proprietà di sola lettura nel lungo elenco di nuove funzionalità e modifiche.
Nel seguente tutorial imparerai come installare PHP 8.1 su Fedora 36 Linux importando il repository REMI. Il tutorial installerà le estensioni del kit di sviluppo e alcuni suggerimenti per Nginx e PHP-FPM utilizzando il terminale della riga di comando.
Aggiorna Fedora
Prima di continuare, si consiglia al sistema di assicurarsi che tutti i pacchetti esistenti siano aggiornati per evitare conflitti di sistema durante l'installazione e per una buona manutenzione del sistema.
sudo dnf upgrade --refresh -y
Installa/Importa repository Remi PHP 8.1
Per installare l'importazione e l'installazione del repository Remi, utilizza il seguente (dnf) comando terminale:
sudo dnf install http://rpms.remirepo.net/fedora/remi-release-36.rpm -y
Situazionale – Rimuovere l'installazione PHP esistente
Per gli utenti che desiderano installare PHP 8.1 ma hanno già installato PHP o PHP-FPM, spesso è meglio rimuovere la versione precedente invece di modificare semplicemente il modulo e aggiornare alla cieca. Ad esempio, rimuovi PHP 8.0 per PHP 8.1.
Assicurati di eseguire il backup di tutti i file di configurazione.
sudo dnf remove php php-fpm -y
Per gli utenti PHP-FPM, interrompere il servizio.
sudo systemctl stop php-fpm
Quindi rimuovi il resto delle estensioni del pacchetto.
sudo dnf remove php* -y
Reimpostare l'elenco dei moduli PHP è facile con il seguente comando:
sudo dnf module list reset php -y
Abilita repository PHP 8.1 (Remi)
PHP 8.0 è la scelta PHP predefinita per le installazioni standard di Fedora 36.
Un rapido suggerimento è quello di utilizzare il (list php) comando per vedere le opzioni disponibili e quelle predefinite.
Il seguente comando dnf module list può farlo:
sudo dnf module list php
Otterrai il seguente output come di seguito.
Esempio:
Quindi, abilita PHP 8.1 con il seguente comando:
sudo dnf module enable php:remi-8.1 -y
Installa PHP 8.1
Ora che hai aggiunto il repository PHP di Remi e abilitato PHP 8.1 come versione predefinita sul tuo sistema Fedora, puoi installare PHP 8.1 con il seguente comando:
Utenti Apache (HTTPD):
sudo dnf install php php-cli
Utenti Nginx:
sudo dnf install php-fpm php-cli
Facoltativamente, se desideri installare le estensioni più comunemente utilizzate per PHP 8.1, scegli quelle che si adatterebbero meglio alla tua situazione nello sviluppo o nell'esecuzione dei tuoi servizi.
sudo dnf install php-cli php-fpm php-curl php-mysqlnd php-gd php-opcache php-zip php-intl php-common php-bcmath php-imagick php-xmlrpc php-json php-readline php-memcached php-redis php-mbstring php-apcu php-xml php-dom php-redis php-memcached php-memcache
NON COPIA E INCOLLA L'INTERO COMANDO SOPRA LE ESTENSIONI.
INSTALLA SOLO I MODULI OPZIONALI NECESSARI PER LA SICUREZZA E LE PRESTAZIONI.
Infine, usa il seguente comando per chiunque sia interessato all'installazione del ramo di sviluppo.
sudo dnf install php-devel -y
Ora che hai installato PHP 8.1 e le estensioni, controlla la versione con il seguente comando:
php -v
Esempio di output:
Installazioni PHP-FPM di PHP 8.1
A differenza delle installazioni PHP-FPM su Debian/Ubuntu che utilizzano (www-data) utente, questo non è il caso delle installazioni della famiglia RHEL. Per impostazione predefinita su Fedora, il servizio PHP-FPM è progettato per essere eseguito (Apache) utente, che non è corretto poiché stiamo usando Nginx, e questo doveva essere corretto.
Innanzitutto, apri dopo (www.conf) file di configurazione:
sudo nano /etc/php-fpm.d/www.conf
Quindi, sostituisci (Apache) utente e gruppo con (Nginx) utente e gruppo:
Per salvare, premi (CTRL+O) quindi esci da (CTRL+X) .
Ora ricaricherai o riavvierai anche tu il tuo servizio PHP-FPM:
sudo systemctl restart php-fpm
Configurazione Nginx
Il blocco del server Nginx ha bisogno del seguente esempio per Nginx per elaborare i file PHP.
Di seguito, esempio per tutti i server {} blocchi che elaborano file PHP che necessitano della posizione ~ .php$ aggiunto.
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;
}
Prova Nginx per assicurarti di non avere errori con le modifiche apportate con il codice sopra; inserisci quanto segue.
sudo nginx -t
Esempio di output:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Riavvia il servizio Nginx per completare l'installazione.
sudo systemctl restart nginx