suchen
HeimBackend-EntwicklungPHP-TutorialPHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian

PHP 8.4 bringt mehrere neue Funktionen, Sicherheitsverbesserungen und Leistungsverbesserungen mit einer beträchtlichen Menge an Funktionsabkündigungen und Entfernungen.

Diese Anleitung erklärt, wie man PHP 8.4 installiert oder auf PHP 8.4 aktualisiert Ubuntu, Debian oder deren Derivate. Obwohl es möglich ist, PHP aus dem Quellcode zu kompilieren, Die Installation aus einem APT-Repository, wie unten erläutert, ist oft schneller und sicherer, da diese Repositorys den neuesten Fehler enthalten Korrekturen und Sicherheitsupdates in der Zukunft.

PHP 8.4 ist in den aktuellen Debian- und Ubuntu-Software-Repositories nicht verfügbar. Dieser Leitfaden verwendet die von Ondřej Surý verwalteten Repositories. Die PHP-Repositories von Ondrej waren die De-facto-Repositories für PHP auf Ubuntu, Debian und ihren Derivaten seit mehreren Jahren.

截屏2024-12-24 16.35.26.png

Potenzielle Auswirkungen auf die Abwärtskompatibilität in PHP 8.4

PHP 8.4 bringt mehrere neue Funktionen wie Eigenschaften-Hooks , asymmetrische Sichtbarkeit, Verbesserungen bei DOM-, Curl-, PCRE-Erweiterungen und mehr.

PHP 8.4 veraltet jedoch auch einige PHP-Funktionen und entfernt vier PHP-Erweiterungen vom PHP-Kern bis zu PECL. Dies kann sich auf vorhandenes PHP auswirken Es kann dazu führen, dass Anwendungen zusätzliche PHP-Hinweise/Warnungen ausgeben oder in bestimmten Fällen fehlschlagen Bedingungen.

Einige der bemerkenswerten Änderungen, die sich wahrscheinlich auf bestehende Anwendungen auswirken werden, umfassen:

  • Implizit nullfähige Parameterdeklarationen veraltet
  • E_STRICT-Konstante veraltet
  • Erweiterungen vom PHP-Kern nach PECL verschoben: Pspell, IMAP, OCI8 und PDO_OCI.

Wenn eine PHP-Erweiterung vom PHP-Kern nach PECL verschoben wird, wird die Erweiterung wird einem eigenen Veröffentlichungszyklus folgen. Die im Leitfaden verwendeten Repositorys stellt Updates für sie bereit, wenn das PECL-Projekt für diese Erweiterung vorliegt veröffentlicht Updates. Dies bedeutet jedoch auch, dass die PECL-Erweiterung (und kommt häufig vor) kommt bei der Wartung in Verzug.

Bevor Sie fortfahren, stellen Sie sicher, dass Sie ein Backup des Systems erstellen. Dieser Leitfaden installiert PHP 8.4 parallel zu allen vorhandenen PHP-Installationen, Dies bietet eine einfache Möglichkeit, zur anderen PHP-Installation zurückzukehren, wenn notwendig.


Dieser Schritt gilt nur, wenn ein vorhandenes PHP-Setup aktualisiert wird. Der folgende Befehl listet alle installierten PHP-Pakete mit dem Text „php“ im Namen auf, zeigt sie auf dem Bildschirm an und schreibt sie in eine Datei namens „packages.txt“. Diese Datei ist in einem späteren Schritt bei der Installation der PHP 8.4-Pakete nützlich, um sicherzustellen, dass dieselbe Liste von PHP 8.4-Versionen der Erweiterungen installiert wird.

dpkg -l | grep php | tee packages.txt

2. Fügen Sie ondrej/php PPA/DPA hinzu

Da PHP 8.4-Pakete in keinem der aktuellen Versionen verfügbar sind Debian- oder Ubuntu-Software-Repositories, aus denen die PHP-Pakete stammen müssen ein weiteres Repo.

Ondřej Surý verwaltet ein Paketarchiv, das kompilierte Binärdateien aller enthält aktuelle PHP-Versionen, für Ubuntu und Debian. Es werden auch mehrere PECL ausgeliefert Erweiterungen einschließlich PECL-Erweiterungen für PHP-Kernerweiterungen entbündelt in PHP 8.4.

Sobald dieses Repository hinzugefügt wurde, können die Erstinstallation und Aktualisierungen mit den Standard-Apt-Befehlen durchgeführt werden.


Ubuntu PPA

sudo LC_ALL=C.UTF-8 add-apt-repository ppa:ondrej/php # Press enter to confirm.sudo apt update

Debian DPA

sudo apt-get updatesudo apt-get -y install lsb-release ca-certificates curl apt-transport-httpssudo curl -sSLo /tmp/debsuryorg-archive-keyring.deb https://packages.sury.org/debsuryorg-archive-keyring.debsudo dpkg -i /tmp/debsuryorg-archive-keyring.debsudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'sudo apt-get update

3. PHP 8.4-Server-API-Pakete installieren

Im PPA und DPA von Ondrej folgen PHP 8.4-Pakete dem php8.1-NAME-Muster. PECL und gemeinsam genutzte PHP-Erweiterungen folgen ebenfalls demselben Muster.

Bevor Sie PHP-Erweiterungen installieren, stellen Sie sicher, dass Sie eines der folgenden PHP Server API (SAPI)-Pakete installieren:

Nur PHP-CLI installieren

Um PHP CLI zu installieren, installieren Sie das Paket php8.1-cli zusammen mit den Erweiterungen gewünscht.

sudo apt install php8.4-cli

PHP-CLI und PHP als Apache-Modul

Um PHP CLI und PHP 8.4 als Apache-Modul zu installieren, installieren Sie das Paket libapache2-mod-php8.4:

sudo apt install php8.4-cli libapache2-mod-php8.4

Sofern die PHP-Anwendung nicht die Installation von PHP als Apache-Modul erfordert, sollten Sie die Installation von PHP-FPM in Betracht ziehen stattdessen.

PHP CLI und PHP-FPM (empfohlen)

Es wird empfohlen, PHP-FPM zu installieren, um PHP mit Webservern wie Apache, Nginx und Caddy zu integrieren.

sudo apt install php8.4-cli php8.4-fpm

Dadurch wird der php8.4-fpm-Dienst installiert und automatisch aktiviert. Weitere Informationen zu den später erforderlichen zusätzlichen Schritten finden Sie im Abschnitt zur FPM-Webserver-Integration.

5. Installation prüfen

Für eine schnelle Überprüfung der PHP-Installation führen Sie Folgendes aus:

php -v

Es sollte die PHP-Version, die Build-Zeit und weitere Informationen anzeigen:

`php -v` output
`php -v`-Ausgabe

Wenn der PHP-FPM-Dienst installiert ist, kann sein Status als überprüft werden folgt:

sudo systemctl status php8.4-fpm

Wenn der PHP-FPM-Server erfolgreich läuft, sollte er eine Ausgabe ähnlich der folgenden anzeigen:


php-fpm status
`systemctl status php8.4-fpm`-Ausgabe

4. PHP-Erweiterungen installieren

Alle freigegebenen PHP-Erweiterungen und PECL-Erweiterungen folgen dem php8.4-EXTNAME-Muster, wobei extname der Name der Erweiterung ist.

Beim Upgrade eines vorhandenen Systems lesen Sie bitte die im ersten Schritt erstellte Datei packets.txt, um die vorhandenen PHP 8.3- oder älteren PHP-Erweiterungen zu überprüfen.

Um eine PHP-Erweiterung zu installieren, verwenden Sie die apt install-Befehl mit dem PHP-Erweiterungsnamen mit dem Präfix php-8.4-. Beispielsweise wird die gd-Erweiterung mit dem Paket php8.4-gd installiert:

sudo apt install php8.4-gd

Der folgende Befehl installiert eine Reihe der gängigsten PHP-Erweiterungen, die von den meisten PHP-Bibliotheken und Frameworks benötigt werden:

sudo apt install php8.4-common php8.4-{bcmath,bz2,curl,gd,gmp,intl,mbstring,opcache,readline,xml,zip}

Um nach zusätzlichen PHP-Erweiterungen zu suchen, verwenden Sie den apt-Suchbefehl:

apt search php8.4

Entwicklung Tools

Entwicklungstools wie Xdebug und Code-Coverage-Tools können ebenfalls nach der gleichen Paketnamenskonvention installiert werden.

Dieser Schritt wird auf Produktionsservern nicht empfohlen.

Xdebug

sudo apt install php8.4-xdebug

PCOV

sudo apt install php8.4-xdebug

5. Webserver-Integration

Abhängig von der in Schritt 3 installierten Server-API erfordert die Webserver-Integration möglicherweise eine zusätzliche Konfiguration, damit das PHP 8.4-Upgrade wirksam wird.

PHP-FPM

Bei Verwendung von PHP-FPM (durch Installation des Pakets php8.4-fpm) muss der Webserver neu konfiguriert werden, um über die aktualisierte Version mit dem PHP 8.4-FPM-Server zu kommunizieren Socket-Pfad.


Apache: Diese Konfigurationsänderung wird durch Einschalten der PHP 8.4-Konfigurationsdatei vereinfacht:

sudo a2enconf php8.4-fpm

Nginx: Aktualisieren Sie die fastcgi_pass-Direktive von der alten PHP-FPM-Socket-Pfad zum neuen PHP 8.4-Pfad:

- fastcgi_pass unix:/run/php/php8.3-fpm.sock;  fastcgi_pass unix:/run/php/php8.4-fpm.sock;

Weitere Informationen finden Sie in der Nginx-Dokumentation Informationen


Caddy Server: Aktualisieren Sie die reverse_proxy-Direktive, um den neuen PHP 8.4 FPM-Server-Socket-Pfad zu verwenden:

- reverse_proxy @phpFiles unix//run/php/php8.3-fpm.sock  reverse_proxy @phpFiles unix//run/php/php8.4-fpm.sock

Weitere Konfigurationsdetails finden Sie unter „So verwenden Sie Caddy Server mit PHP“.

PHP als Apache-Modul

Wenn PHP als Apache-Modul installiert ist, deaktiviert der folgende Befehl das bisherige PHP Modul (8.3 in diesem Beispiel) und aktiviert die neue PHP-Version:

sudo a2dismod php8.3 # Change to the current PHP versionsudo a2enmod  php8.4

Das obige ist der detaillierte Inhalt vonPHP 8.4 Installations- und Upgrade-Anleitung für Ubuntu und Debian. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Dieser Artikel ist reproduziert unter:php.watch. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Wie können Sie vor SPRECTS-Angriffen (XSS) schützen?Wie können Sie vor SPRECTS-Angriffen (XSS) schützen?Apr 23, 2025 am 12:16 AM

Um die Anwendung vor Sitzungsangriffen im Zusammenhang mit den Sitzungen zu schützen, sind folgende Maßnahmen erforderlich: 1. Stellen Sie die HTTPonly- und sicheren Flags ein, um die Sitzungs Cookies zu schützen. 2. Exportcodes für alle Benutzereingaben. 3. Implementieren Sie die Inhaltssicherheitsrichtlinie (CSP), um die Skriptquellen einzuschränken. Durch diese Richtlinien können Sitzungsangriffe im Zusammenhang mit Sitzungen effektiv geschützt und Benutzerdaten sichergestellt werden.

Wie können Sie die PHP -Sitzungsleistung optimieren?Wie können Sie die PHP -Sitzungsleistung optimieren?Apr 23, 2025 am 12:13 AM

Methoden zur Optimierung der PHP -Sitzungsleistung gehören: 1. Start der Verzögerung der Sitzung, 2. Verwenden Sie Datenbank zum Speichern von Sitzungen, 3. Kompress -Sitzungsdaten, 14. Sitzungslebenszyklus verwalten und 5. Sitzungsfreigabe implementieren. Diese Strategien können die Effizienz von Anwendungen in hohen Parallelitätsumgebungen erheblich verbessern.

Wie lautet die Konfigurationseinstellung von Session.gc_maxlifetime?Wie lautet die Konfigurationseinstellung von Session.gc_maxlifetime?Apr 23, 2025 am 12:10 AM

Thesession.gc_maxlifetimesettingInphpdeterminesthelifspanofSessionData, setInseconds.1) ItsconfiguredInphp.iniorviaini_Set (). 2) AbalanceIsneedToAvoidPerformanceSandunexexwortedyg -Probablogouts

Wie konfigurieren Sie den Sitzungsnamen in PHP?Wie konfigurieren Sie den Sitzungsnamen in PHP?Apr 23, 2025 am 12:08 AM

In PHP können Sie die Funktion Session_name () verwenden, um den Sitzungsnamen zu konfigurieren. Die spezifischen Schritte sind wie folgt: 1. Verwenden Sie die Funktion Session_name (), um den Sitzungsnamen wie Session_name ("my_Session") festzulegen. 2. Nachdem Sie den Sitzungsnamen festgelegt haben, call Session_start (), um die Sitzung zu starten. Das Konfigurieren von Sitzungsnamen kann Sitzungsdatenkonflikte zwischen mehreren Anwendungen vermeiden und die Sicherheit verbessern, aber auf die Einzigartigkeit, Sicherheit, Länge und Festlegen des Zeitpunkts der Sitzungsnamen achten.

Wie oft sollten Sie Sitzungs -IDs regenerieren?Wie oft sollten Sie Sitzungs -IDs regenerieren?Apr 23, 2025 am 12:03 AM

Die Sitzungs -ID sollte regelmäßig bei Anmeldung, vor sensiblen Operationen und alle 30 Minuten regeneriert werden. 1. Regenerieren Sie die Sitzungs -ID, wenn Sie sich anmelden, um festgelegte Angriffe zu verhindern. 2.. Genieren Sie vor sensiblen Operationen, um die Sicherheit zu verbessern. 3. Die regelmäßige Regeneration reduziert das langfristige Nutzungsrisiko, aber die Benutzererfahrung muss abgewogen werden.

Wie setzen Sie die Session Cookie -Parameter in PHP ein?Wie setzen Sie die Session Cookie -Parameter in PHP ein?Apr 22, 2025 pm 05:33 PM

Das Einstellen von Sitzungs -Cookie -Parametern in PHP kann über die Funktion Session_set_cookie_params () erreicht werden. 1) Verwenden Sie diese Funktion, um Parameter wie Ablaufzeit, Pfad, Domänenname, Sicherheitsflag usw. Zu setzen; 2) Call Session_start (), um die Parameter wirksam zu machen; 3) Parameter dynamisch entsprechend den Anforderungen wie dem Benutzeranmeldestatus des Benutzers einstellen. 4) Achten Sie darauf, sichere und httponly -Flags festzulegen, um die Sicherheit zu verbessern.

Was ist der Hauptzweck bei der Verwendung von Sitzungen in PHP?Was ist der Hauptzweck bei der Verwendung von Sitzungen in PHP?Apr 22, 2025 pm 05:25 PM

Der Hauptzweck bei der Verwendung von Sitzungen in PHP besteht darin, den Status des Benutzers zwischen verschiedenen Seiten aufrechtzuerhalten. 1) Die Sitzung wird über die Funktion Session_start () gestartet, wodurch eine eindeutige Sitzungs -ID erstellt und im Benutzer Cookie gespeichert wird. 2) Sitzungsdaten werden auf dem Server gespeichert, sodass Daten zwischen verschiedenen Anforderungen wie Anmeldestatus und Einkaufswagen -Inhalten übergeben werden können.

Wie können Sie Sitzungen über Subdomains teilen?Wie können Sie Sitzungen über Subdomains teilen?Apr 22, 2025 pm 05:21 PM

Wie teile ich eine Sitzung zwischen Subdomains? Implementiert durch Einstellen von Sitzungs Cookies für gemeinsame Domainnamen. 1. Setzen Sie die Domäne des Sitzungs -Cookie auf .example.com auf der Serverseite. 2. Wählen Sie die entsprechende Sitzungsspeichermethode wie Speicher, Datenbank oder verteiltes Cache. 3. Übergeben Sie die Sitzungs -ID über Cookies, und der Server ruft und aktualisiert die Sitzungsdaten basierend auf der ID.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

SublimeText3 Linux neue Version

SublimeText3 Linux neue Version

SublimeText3 Linux neueste Version

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software