Navigation
 Startseite
 Fachbücher
 Forum
 Webmaster News
 Script Newsletter
 Kontakt
 Script Installation
 Php
 Php Tutorials
 Impressum

Community-Bereich
 kostenlos Registrieren
 Anmelden
 Benutzerliste

Script Datenbank
 Script Archiv
 Script Top 20
 Screenshots
 Testberichte

Suche
 

Unsere Php Scripts
 Counter Script
 Umfrage Script
 Bilder Upload Script
 Terminverwaltung
 Simple PHP Forum
 RSS Grabber

Script Mods
 phpBB Adsense Mode

Tools und Generatoren
 .htpasswd Generator
 md5 Generator
 base64 Generator
 Markdown to HTML
 Colorpicker
 Unix timestamp Tool
 TLD Liste
 Webkatalog‑Verzeichnis

Partner
 Sprüche Treff

Hosterplus.de
Bekommen Sie Speicherplatz (Webspace), Domains und...
https://www.Hosterplus.de
Artfiles.de
Bietet Serviceorientierte Internetdienstleistungen...
https://www.Artfiles.de
 
 
 

Wichtige Aenderungen im PHP 8.3.10 Update

Sie befinden sich: Home > Webmaster News

Das PHP 8.3.10 Update bringt eine Reihe von kritischen Bugfixes und Optimierungen, die die Stabilität und Performance von PHP maßgeblich verbessern. In diesem Artikel werden die wichtigsten Änderungen detailliert beschrieben.

Verbesserte Unterstützung für sysconf(_SC_GETPW_R_SIZE_MAX) == -1

Ein bedeutendes Problem in der PHP-Plattform betraf die Rückgabe von sysconf(_SC_GETPW_R_SIZE_MAX), insbesondere auf Systemen wie Alpine Linux, die die musl-Bibliothek verwenden. Diese Konstante gibt die Größe des Puffers an, der für die Funktion getpw_r() benötigt wird, um Benutzerdaten sicher zu verarbeiten. Wenn sysconf den Wert -1 zurückgibt, bedeutet dies, dass der Wert für _SC_GETPW_R_SIZE_MAX nicht definiert oder nicht verfügbar ist. Das Update umfasst eine Anpassung im Umgang mit sysconf(_SC_GETPW_R_SIZE_MAX), das nun Systeme unterstützt, die -1 zurückgeben. Diese Änderung wurde implementiert, indem die Fehlerbehandlung in ext/posix aktualisiert wurde.

Behebung des is_zend_ptr() Bugs für große Speicherblöcke

Ein schwerwiegender Fehler in der Funktion is_zend_ptr(), der bei großen Speicherblöcken zu Abstürzen führen konnte, wurde behoben. Der Fehler trat auf, weil die Funktion eine falsche Annahme über die Struktur der huge_list traf. Ursprünglich wurde angenommen, dass diese Liste zirkulär ist, aber tatsächlich ist sie NULL-terminiert. Durch die Anpassung dieser Annahme arbeitet die Funktion nun korrekt, was die Stabilität bei der Verwaltung großer Speicherblöcke erheblich verbessert.

Speicherleck im FPM Test gh13563-conf-bool-env.phpt

Ein Speicherleck in einem PHP-Test wurde behoben, das auftrat, wenn der Wert FPM_TEST_LOG_BUF geändert wurde. Das Problem wurde durch ungültige Werte für log_buffering verursacht, die zu einem Speicherleck führten, da die von zend_getenv zurückgegebenen Werte nicht freigegeben wurden. Die Lösung bestand darin, sicherzustellen, dass die von zend_getenv zurückgegebenen Werte korrekt freigegeben werden, was die Speicherverwaltung verbessert und Speicherlecks verhindert.

Behebung eines Segmentierungsfehlers im InternalIterator Klonen

Ein gravierender Fehler, der beim Klonen von InternalIterator-Objekten zu Segmentierungsfehlern führte, wurde behoben. Das Problem trat auf, weil der clone_obj-Handler nicht korrekt gesetzt wurde, was zu einem Buffer Overflow und Abstürzen führte. Der Patch deaktiviert das Klonen von InternalIterator-Objekten und stellt sicher, dass der Speicher konsistent verwaltet wird.

Use-after-free Fehler in der __toString() Methode

Ein Fehler, der zu Speicherbeschädigungen führte, wenn die __toString() Methode eine Ausnahme auslöste, wurde behoben. Der Fehler trat auf, wenn die Methode auf globalen Speicher zugriff und diesen nicht korrekt verwaltete. Dies führte zu einem heap-use-after-free-Fehler, was schwerwiegende Sicherheitsprobleme verursachen konnte. Der Fix sorgt dafür, dass der Speicher korrekt freigegeben wird und keine ungültigen Zugriffe erfolgen, selbst wenn die __toString() Methode eine Ausnahme auslöst.

Absturz bei Verwendung von DOMDocument::xinclude()

Ein Absturz bei der Verwendung von DOMDocument::xinclude() wurde behoben. Das Problem trat auf, wenn fallback-Elemente in XML-Dateien verarbeitet wurden. Der Fehler verursachte zufällige Abstürze in der PHP-FPM-Umgebung aufgrund eines Fehlers im libxml, der fallback-Knoten entfernte, während diese noch in der PHP-Referenz vorhanden waren. Die Lösung bestand darin, die Node-Referenzen korrekt zu entkoppeln, um Speicherfehler zu vermeiden und die Stabilität bei der Verwendung von DOMDocument::xinclude() zu gewährleisten.

Korrektur eines Lizenzproblems in README.REDIST.BINS

Ein Problem mit einer veralteten Lizenzreferenz in der Datei README.REDIST.BINS wurde behoben. Die Datei verwies auf eine nicht mehr existierende Lizenzdatei ext/fileinfo/libmagic/LICENSE. Der Verweis wurde entfernt oder aktualisiert, um die korrekten Informationen zur Weitergabe von libmagic bereitzustellen. Diese Änderung stellt sicher, dass die Lizenzinformationen korrekt und aktuell sind.

Weitere wichtige Bugfixes und Verbesserungen

Das Update enthält zahlreiche weitere wichtige Bugfixes und Verbesserungen:

  • Memory Leaks: Mehrere Speicherlecks, insbesondere in den Erweiterungen SPL und Tidy, wurden behoben, was die allgemeine Speicherverwaltung und Stabilität von PHP verbessert.
  • Kompatibilität mit libxml2: Die Kompatibilität mit neueren Versionen von libxml2 wurde verbessert, insbesondere in Bezug auf die API-Änderungen, die zu Build-Fehlern führten.
  • Benutzerdefinierte Stream-Wrappers: Ein Fehler, der dazu führte, dass die dir_readdir Methode von benutzerdefinierten Stream-Wrappers Dateinamen auf 255 Zeichen begrenzt zurückgab, wurde behoben. Diese Korrektur stellt sicher, dass lange Dateinamen vollständig und korrekt verarbeitet werden.
  • Integer Überlauf in range Funktion: Ein Überlaufproblem in der range-Funktion, das bei negativen Schrittlängen auftrat, wurde behoben. Die Funktion handhabt nun negative Werte korrekt, ohne Überläufe zu verursachen.
  • time_sleep_until Überlauf: Ein Überlauffehler in der Funktion time_sleep_until wurde behoben. Das Problem trat auf, wenn ein ungültiger Wert wie NaN übergeben wurde, was zu einem Laufzeitfehler führte.

Weitere Informationen und Download

Für eine vollständige Liste der Änderungen und Korrekturen besuchen Sie die offiziellen PHP-Changelog-Seiten für PHP 8.3.10. Um die neueste Version von PHP herunterzuladen, besuchen Sie die PHP-Downloads-Seite.

Ihre Meinung ist gefragt!

Wir würden gerne Ihre Meinung zu diesem Update hören. Welche Verbesserungen und Fehlerbehebungen finden Sie am wichtigsten? Haben Sie bereits auf die neueste Version aktualisiert? Lassen Sie uns Ihre Erfahrungen und Gedanken in den Kommentaren unten wissen!

(Autor: schubertmediaschubertmedia), Eingetragen am 05.08.2024


Schreib ein Kommentar

Name
Mail
Webseite
Kommentar