


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.
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:

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:

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!

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.

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.

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

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.

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.

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.

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 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.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

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

Heißer Artikel

Heiße Werkzeuge

SublimeText3 Linux neue Version
SublimeText3 Linux neueste Version

VSCode Windows 64-Bit-Download
Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

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
Visuelle Webentwicklungstools

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