PHP v8.1.21 und v8.2.8 veröffentlicht: Verbesserungen, Fixes, Leistung!Sie befinden sich: Home > Webmaster News
Am 6. Juli 2023 hat das PHP-Entwicklerteam die lang erwarteten Versionen 8.1.21 und 8.2.8 von PHP veröffentlicht. Diese Updates bringen eine Vielzahl von Verbesserungen, Fehlerbehebungen und Leistungssteigerungen mit sich, die die PHP-Entwicklergemeinschaft begeistern werden. Dies können Sie unter: https://windows.php.net/download/ herunterladen.
Mit der Veröffentlichung dieser Versionen setzt PHP seinen fortlaufenden Fokus auf Stabilität, Sicherheit und Benutzerfreundlichkeit fort. In diesem Artikel werden wir uns die wichtigsten Neuerungen und Aktualisierungen in PHP 8.1.21 und 8.2.8 genauer ansehen, um zu verstehen, wie sie die Entwicklung von PHP-Anwendungen verbessern können.
Änderung, die in PHP 8.1.21 gemacht wurden
Bereich |
Beschreibung |
CLI |
Behobener Fehler GH-11246 (cli/get_set_process_title scheitert auf MacOS) |
Core |
Build für die riscv64 Architektur/GCC 12 korrigiert |
Curl |
Behobener Fehler GH-11433 (Unfähig, CURLOPT_ACCEPT_ENCODING auf NULL zu setzen) |
DOM |
Behobene Fehler GH-11288, GH-11289, GH-11290 und GH-9142 (DOMExceptions und Segfaults mit replaceWith) |
|
Behobener Fehler GH-10234 (Setzen von DOMAttr::textContent führt zu einem leeren Attributwert) |
|
Korrigiere Rückgabewert in Stub-Datei für DOMNodeList::item |
|
Fehler bei der Spezifikationskonformität mit "*" Namespace für DOMDocument::getElementsByTagNameNS behoben |
|
Fix DOMElementappend() und DOMElementprepend() Hierarchieprüfungen |
|
Behobener Fehler GH-11347 (Speicherleck beim Aufruf einer statischen Methode innerhalb einer xpath-Abfrage) |
|
Behobener Fehler #67440 (append_node eines DOMDocumentFragment gleicht Namensräume nicht ab) |
|
Behobener Fehler #81642 (DOMChildNode::replaceWith() Fehler beim Ersetzen eines Knotens durch sich selbst) |
|
Behobener Fehler #77686 (Entfernte Elemente werden immer noch von getElementById zurückgegeben) |
|
Behobener Fehler #70359 (print_r() auf DOMAttr verursacht Segfault in php_libxml_node_free_list()) |
|
Behobener Fehler #78577 (Absturz in DOMNameSpace Debug-Info-Handlern) |
|
Behebe Lebensdauerproblem mit getAttributeNodeNS() |
|
Behebe „invalid state error“ mit geklonten Namespace-Deklarationen |
|
Behobene Fehler #55294, #47530 und #47847 (verschiedene Probleme bei der Abstimmung von Namensräumen) |
|
Behobener Fehler #80332 (Vollständig defekte Array-Zugriffsfunktionalität mit DOMNamedNodeMap) |
Opcache |
Behebe Zuordnungsschleife in zend_shared_alloc_startup() |
|
Zugriffsverletzung auf smm_shared_globals mit ALLOC_FALLBACK |
|
Behobener Fehler GH-11336 (php versucht immer noch, den gemeinsamen Speicher ZendSem mit opcache.file_cache_only=1 zu entsperren, aber er wurde nie gesperrt) |
OpenSSL |
Behobener Fehler GH-9356 Unvollständige Validierung von IPv6-Adressfeldern in subjectAltNames (James Lucas, Jakub Zelenka) |
PGSQL |
Behobener intermittierender Segfault mit pg_trace |
Phar |
Korrigiere Cross-Compilation-Check in Phar-Generierung für FreeBSD |
SPL |
Behobener Fehler GH-11338 (SplFileInfo leeres getBasename mit mehr als einem Slash) |
Standard |
Behebe Zugriff auf NULL-Zeiger in array_merge_recursive() |
|
Behebe Ausnahmehandhabung in array_multisort() |
Erklärung: Das obige Diagramm zeigt die Verteilung der Fixes in der PHP-Version 8.1.21. Es gibt drei Hauptkategorien von Fixes, die in dieser Version vorgenommen wurden. „Sicherheitsverbesserungen“ repräsentiert den Fix in OpenSSL, der dazu beiträgt, die Sicherheit der PHP-Anwendungen zu stärken. „Bugfixes“ bilden die Mehrheit der Fixes und sind auf verschiedene Komponenten von PHP verteilt, um Fehler zu beheben und die Stabilität zu verbessern.
„Plattform- und Architekturkompatibilität“ zeigt die Fixes, die speziell für MacOS und die riscv64-Architektur implementiert wurden, um die Kompatibilität mit diesen Plattformen zu gewährleisten. Dieses Diagramm verdeutlicht die vielfältigen Anstrengungen des PHP-Entwicklerteams, um die PHP-Version 8.1.21 zu optimieren und die Benutzererfahrung zu verbessern. Es ist ein weiterer Schritt in der fortlaufenden Entwicklung von PHP, um eine leistungsstarke und zuverlässige Programmiersprache für Webentwickler auf der ganzen Welt bereitzustellen.
Änderung, die in PHP 8.2.8 gemacht wurden
Modul |
Änderungen |
CLI |
Fehler GH-11246 behoben (cli/get_set_process_title versagt auf MacOS) |
Core |
Fehlerbehebung für den Build auf der riscv64 Architektur/GCC 12 |
Curl |
Fehler GH-11433 behoben (Kann CURLOPT_ACCEPT_ENCODING nicht auf NULL setzen) |
Datum |
Fehler GH-11455 behoben (Segmentation fault mit benutzerdefinierten Datumsobjekt-Eigenschaften) |
DOM |
Fehler GH-11288, GH-11289, GH-11290 und GH-9142 behoben (DOMExceptions und Segfaults mit replaceWith) |
|
Fehler GH-10234 behoben (DOMAttr::textContent setzen führt zu einem leeren Attributwert) |
|
Korrigiere Rückgabewert in Stub-Datei für DOMNodeList::item |
|
Fehler bei der Einhaltung der Spezifikation mit "*" Namensraum für DOMDocument::getElementsByTagNameNS behoben |
|
DOMElementappend() und DOMElementprepend() Hierarchieprüfungen behoben |
|
Fehler GH-11347 behoben (Speicherleck beim Aufrufen einer statischen Methode in einer xpath-Abfrage) |
|
Fehler #67440 behoben (append_node eines DOMDocumentFragment führt nicht zu Namensraum-Versöhnungen) |
|
Fehler #81642 behoben (DOMChildNode::replaceWith() Fehler beim Ersetzen eines Knotens durch sich selbst) |
|
Fehler #77686 behoben (Entfernte Elemente werden immer noch von getElementById zurückgegeben) |
|
Fehler #70359 behoben (print_r() auf DOMAttr führt zu Segfault in php_libxml_node_free_list()) |
|
Fehler #78577 behoben (Absturz in DOMNameSpace Debug-Info-Handlern) |
|
Lebensdauerproblem mit getAttributeNodeNS() behoben |
|
„Invalid state error“ mit geklonten Namensraumdeklarationen behoben |
|
Fehler #55294, #47530 und #47847 behoben (verschiedene Probleme bei der Namensraum-Versöhnung) |
|
Fehler #80332 behoben (Völlig defekte Array-Zugriffsfunktionalität mit DOMNamedNodeMap) |
Opcache |
Fehlerbehebung für die Speicherzuordnungsschleife in zend_shared_alloc_startup() |
|
Zugriffsverletzung auf smm_shared_globals mit ALLOC_FALLBACK |
|
Fehler GH-11336 behoben (php versucht immer noch, den gemeinsam genutzten Speicher ZendSem mit opcache.file_cache_only=1 zu entsperren, aber er wurde nie gesperrt) |
OpenSSL |
Fehler GH-9356 behoben Unvollständige Validierung von IPv6 Address Feldern in subjectAltNames (James Lucas, Jakub Zelenka) |
PCRE |
Fehlerbehebung für preg_replace_callback_array() Muster Validierung |
PGSQL |
Intermittierender Segfault mit pg_trace behoben |
Phar |
Fehlerbehebung für Cross-Kompilationsprüfung in Phar-Erzeugung für FreeBSD |
SPL |
Fehler GH-11338 behoben (SplFileInfo leere getBasename mit mehr als einem Slash) |
Standard |
Zugriff auf NULL-Zeiger in array_merge_recursive() behoben |
|
Ausnahmehandhabung in array_multisort() behoben |
SQLite3 |
Fehler GH-11451 behoben (Ungültiges assoziatives Array, das doppelte Schlüssel enthält) |
Anmerkungen:
- Sicherheitsverbesserungen: Fehler in OpenSSL und einige in DOM (z. B. „Memory leak“, „invalid state error“ usw.) wurden als Sicherheitsverbesserungen gezählt, weil sie potenzielle Sicherheitslücken darstellen könnten.
- Bugfix: Die meisten Fehler wurden als allgemeine Bugfixes gezählt, da sie die normalen Funktionen der Software betreffen.
- Plattform- und Architekturkompatibilität: Einige Fehler (wie „Fixed build for the riscv64 architecture/GCC 12“, „cli/get_set_process_title fails on MacOS“ und andere) wurden unter Plattform- und Architekturkompatibilität eingeordnet, da sie spezifisch für bestimmte Betriebssysteme oder Architekturen zu sein scheinen.
Erklärung: Hier ist das Diagramm, das die Fixes und Verbesserungen in der PHP-Version 8.2.8 visualisiert. Es zeigt die Verteilung der Fixes nach Kategorien, einschließlich Sicherheitsverbesserungen, Bugfixes und Plattform-/Architekturkompatibilität. Dieses Diagramm veranschaulicht die Bedeutung dieser Veröffentlichung und verdeutlicht, wie die Entwickler an der Behebung von Fehlern und der Optimierung der PHP-Plattform arbeiten. (Autor: schubertmedia), Eingetragen am 11.07.2023
Schreib ein Kommentar
|