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 importare il modulo REMI e installare PHP 8.1 sul tuo sistema Fedora 35.
Aggiorna il sistema Fedora
Aggiorna il tuo Fedora sistema operativo per assicurarsi che tutti i pacchetti esistenti siano aggiornati:
sudo dnf upgrade --refresh -y
Installa/Importa repository Remi PHP 8.1
Attualmente, PHP 8.1 non è presente in Fedora 35. Tuttavia, questo può essere facilmente risolto installando e abilitando il Remi Repository, un repository YUM/DNF gratuito e stabile principalmente per lo stack PHP. Contiene pacchetti per le ultime versioni di PHP.
Per installare import e installare il repository remi, utilizza il seguente (dnf) comando terminale:
sudo dnf install http://rpms.remirepo.net/fedora/remi-release-35.rpm
Quindi, verifica l'installazione.
dnf repolist | grep remi
Esempio di output:
remi-modular Remi's Modular repository - Fedora 35 - x86_64
Situazionale – Rimuovere l'installazione PHP esistente
Per gli utenti che desiderano installare PHP 8.1 ma hanno già installato PHP o PHP-FPM, rimuovere la versione precedente. 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
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
Ora puoi procedere alla parte successiva del tutorial.
Abilita repository PHP 8.1 (Remi)
PHP 8.0 è la scelta PHP predefinita per le installazioni standard di Fedora 35.
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
Ti verrà chiesto di importare la chiave GPG per il repository di Remi. Digita (Y) per procedere se lo incontri.
Quindi, abilita PHP 8.1 con il seguente comando:
sudo dnf module enable php:remi-8.1
Esempio di output:
Installa PHP 8.1 su Fedora
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
Utenti Nginx:
sudo dnf install php-fpm
Esempio di output:
Digita "Y" quindi premere il "INVIO TASTO" per procedere con l'installazione.
Nota, ti verrà chiesto di importare più chiavi GPG.
Esempio:
Digita "Y" quindi premere il "INVIO TASTO" per procedere con l'installazione.
Facoltativamente, se desideri installare le estensioni più comunemente utilizzate per PHP 8.1, utilizza il seguente comando:
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
Nota, rimuovi le opzioni che non desideri siano facoltative. Si consiglia vivamente di installare e mantenere solo i moduli richiesti da uno standard di prestazioni e sicurezza.
Esempio di output:
Digita "Y" quindi premere il "INVIO TASTO" per procedere con l'installazione.
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