PHP 8.1 ist ein bedeutendes Update der PHP-Sprache, das am 25. November 2021 veröffentlicht wurde. Dies ist ein zukünftiges Standard-Upgrade von der bestehenden PHP 8.0-Version. Das neue PHP 8.1 bringt Aufzählungen, Fibers, nie zurückgegebene Typen, endgültige Klassenkonstanten, Schnittmengentypen und schreibgeschützte Eigenschaften unter die lange Liste neuer Funktionen und Änderungen.
Im folgenden Tutorial erfahren Sie, wie Sie das REMI-Modul importieren und PHP 8.1 auf Ihrem Fedora 35-System installieren.
Fedora-System aktualisieren
Aktualisieren Sie Ihren Fedora Betriebssystem, um sicherzustellen, dass alle vorhandenen Pakete auf dem neuesten Stand sind:
sudo dnf upgrade --refresh -y
Installieren/Importieren Sie das PHP 8.1 Remi-Repository
Derzeit ist PHP 8.1 nicht in Fedora 35 enthalten. Dies kann jedoch leicht behoben werden, indem das Remi-Repository installiert und aktiviert wird, a kostenloses und stabiles YUM/DNF-Repository hauptsächlich für den PHP-Stack. Es enthält Pakete für die neuesten Versionen von PHP.
Um Import zu installieren und das Remi-Repo zu installieren, verwenden Sie das folgende (dnf) Terminalbefehl:
sudo dnf install http://rpms.remirepo.net/fedora/remi-release-35.rpm
Überprüfen Sie als Nächstes die Installation.
dnf repolist | grep remi
Beispielausgabe:
remi-modular Remi's Modular repository - Fedora 35 - x86_64
Situativ – Vorhandene PHP-Installation entfernen
Für Benutzer, die PHP 8.1 installieren möchten, aber bereits PHP oder PHP-FPM installiert haben, entfernen Sie die vorherige Version. Entfernen Sie beispielsweise PHP 8.0 für PHP 8.1.
Achten Sie darauf, alle Konfigurationsdateien zu sichern.
sudo dnf remove php php-fpm -y
Entfernen Sie dann die restlichen Paketerweiterungen.
sudo dnf remove php* -y
Das Zurücksetzen der PHP-Modulliste ist einfach mit dem folgenden Befehl:
sudo dnf module list reset php -y
Jetzt können Sie mit dem nächsten Teil des Tutorials fortfahren.
Aktivieren Sie das PHP 8.1 (Remi)-Repository
PHP 8.0 ist die Standard-PHP-Auswahl für standardmäßige Fedora 35-Installationen.
Ein schneller Tipp ist die Verwendung von (list php) Befehl, um die verfügbaren Optionen und die Standardeinstellung anzuzeigen.
Der folgende Befehl dnf module list kann dies tun:
sudo dnf module list php
Sie werden aufgefordert, den GPG-Schlüssel für das Repository von Remi zu importieren. Geben Sie (Y) ein, um fortzufahren, wenn Sie darauf stoßen.
Als nächstes aktivieren Sie PHP 8.1 mit dem folgenden Befehl:
sudo dnf module enable php:remi-8.1
Beispielausgabe:
Installieren Sie PHP 8.1 auf Fedora
Nachdem Sie das Remi-PHP-Repository hinzugefügt und PHP 8.1 als Standardversion auf Ihrem Fedora-System aktiviert haben, können Sie PHP 8.1 mit dem folgenden Befehl installieren:
Apache (HTTPD)-Benutzer:
sudo dnf install php
Nginx-Benutzer:
sudo dnf install php-fpm
Beispielausgabe:
Geben Sie "Y" ein Drücken Sie dann die "ENTER-TASTE" um mit der Installation fortzufahren.
Beachten Sie, dass Sie nach weiteren GPG-Schlüsselimporten gefragt werden.
Beispiel:
Geben Sie "Y" ein Drücken Sie dann die "ENTER-TASTE" um mit der Installation fortzufahren.
Wenn Sie optional die am häufigsten verwendeten Erweiterungen für PHP 8.1 installieren möchten, verwenden Sie den folgenden Befehl:
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
Hinweis:Entfernen Sie die Optionen, die Sie nicht möchten. Dies ist optional. Es wird dringend empfohlen, nur die Module zu installieren und zu behalten, die Sie für einen Leistungs- und Sicherheitsstandard benötigen.
Beispielausgabe:
Geben Sie "Y" ein Drücken Sie dann die "ENTER-TASTE" um mit der Installation fortzufahren.
Verwenden Sie abschließend den folgenden Befehl für alle, die daran interessiert sind, den Entwicklungszweig zu installieren.
sudo dnf install php-devel -y
Nachdem Sie PHP 8.1 und die Erweiterungen installiert haben, überprüfen Sie die Version mit dem folgenden Befehl:
php -v
Beispielausgabe:
PHP-FPM-Installationen von PHP 8.1
Im Gegensatz zu PHP-FPM-Installationen auf Debian/Ubuntu, die die (www-data) verwenden Benutzer, dies ist bei Installationen der RHEL-Familie nicht der Fall. Standardmäßig ist der PHP-FPM-Dienst auf Fedora so konzipiert, dass er (Apache) ausgeführt wird Benutzer, was falsch ist, da wir Nginx verwenden, und dies musste korrigiert werden.
Öffnen Sie zunächst folgende (www.conf) Konfigurationsdatei:
sudo nano /etc/php-fpm.d/www.conf
Als nächstes ersetzen Sie (Apache) Benutzer und Gruppe mit (Nginx) Benutzer und Gruppe:
Drücken Sie zum Speichern (STRG+O) Beenden Sie dann (STRG+X) .
Jetzt werden Sie auch Ihren PHP-FPM-Dienst neu laden oder neu starten:
sudo systemctl restart php-fpm
Nginx-Konfiguration
Der Nginx-Serverblock benötigt das folgende Beispiel unten, damit Nginx die PHP-Dateien verarbeiten kann.
Unten ein Beispiel für alle Server {} Blöcke, die PHP-Dateien verarbeiten, die den Speicherort ~ .php$ benötigen hinzugefügt.
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;
}
Testen Sie Nginx, um sicherzustellen, dass Sie keine Fehler mit den Anpassungen haben, die mit dem obigen Code vorgenommen wurden; Geben Sie Folgendes ein.
sudo nginx -t
Beispielausgabe:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Starten Sie den Nginx-Dienst neu, um die Installation abzuschließen.
sudo systemctl restart nginx