From f56f150c622ae3c5a60e1e84cb17138142125bd2 Mon Sep 17 00:00:00 2001 From: lacatoire Date: Mon, 15 Jun 2026 11:03:26 +0200 Subject: [PATCH] [Sync EN] ini: Document fatal_error_backtraces (#5452) --- appendices/migration85/other-changes.xml | 655 +++++++++++++++++++++++ reference/errorfunc/ini.xml | 1 - 2 files changed, 655 insertions(+), 1 deletion(-) create mode 100644 appendices/migration85/other-changes.xml diff --git a/appendices/migration85/other-changes.xml b/appendices/migration85/other-changes.xml new file mode 100644 index 000000000..dc2461967 --- /dev/null +++ b/appendices/migration85/other-changes.xml @@ -0,0 +1,655 @@ + + + + Sonstige Änderungen + + + PHP-Kern + + + PHP-Kern + + + Der hochauflösende Timer (hrtime) verwendet unter macOS + nun die empfohlene API + clock_gettime_nsec_np(CLOCK_UPTIME_RAW) anstelle von + mach_absolute_time(). + + + + + + CGI/CLI + + + Die Option bzw. + wurde entfernt, da sie funktionslos war. + Stattdessen ist zu verwenden. + + + + + + PDO_ODBC + + + Das Verhalten beim Abrufen größerer Spalten wurde geändert. Anstatt + Blöcke von 256 Byte abzurufen, versucht PDO_ODBC nun, eine größere + Blockgröße abzurufen; derzeit ist dies die Seitengröße abzüglich des + Zeichenketten-Overheads. Treiber, die in SQLGetData SQL_NO_TOTAL + zurückgeben, werden ebenfalls besser behandelt. + Dies dürfte Kompatibilität und Leistung verbessern. + + + + + + + + + Änderungen in SAPI-Modulen + + + CLI + + + Der Versuch, mit cli_set_process_title einen zu langen + Prozesstitel zu setzen, schlägt nun fehl, anstatt den angegebenen Titel + stillschweigend abzuschneiden. + + + + Eine neue Option wurde hinzugefügt, um die + INI-Einstellungen auszugeben, die gegenüber den eingebauten Standardwerten + geändert wurden. + + + + + + FPM + + + FPM mit httpd ProxyPass dekodiert optional den vollständigen Skriptpfad. + Es wurde die INI-Einstellung + fastcgi.script_path_encoded + hinzugefügt, um dieses neue Verhalten zu verhindern. + + + + Die Begrenzung des FPM-Zugriffsprotokolls berücksichtigt nun den Wert von + log_limit. + + + + + + + + Geänderte Funktionen + + + Intl + + + grapheme_extract weist den Wert von + $next nun korrekt zu, wenn ungültige Startbytes + übersprungen werden. Zuvor gab es Fälle, in denen er auf den Anfang der + Graphemgrenze statt auf deren Ende zeigte. + + + + transliterator_get_error_code, + transliterator_get_error_message, + TransLiterator::getErrorCode + und TransLiterator::getErrorMessage + haben &false; aus ihrer Rückgabetyp-Union entfernt. Die Rückgabe von + &false; war tatsächlich nie möglich. + + + + Die folgenden Funktionen unterstützen nun ein Argument + $locale: + grapheme_strpos, + grapheme_stripos, + grapheme_strrpos, + grapheme_strripos, + grapheme_substr, + grapheme_strstr und + grapheme_stristr + + + + + + + LDAP + + + ldap_get_option akzeptiert nun, wie + ldap_set_option, eine &null;-Verbindung, um das Abrufen + globaler Optionen zu ermöglichen. + + + + + + libxml + + + libxml_set_external_entity_loader hat nun den formalen + Rückgabetyp true. + + + + + + OpenSSL + + + openssl_public_encrypt und + openssl_private_decrypt haben einen neuen Parameter + $digest_algo, der die Angabe des Hash-Digest-Algorithmus + für das OAEP-Padding ermöglicht. + + + + openssl_sign und openssl_verify + haben einen neuen Parameter $padding, um das + sicherere RSA-PSS-Padding verwenden zu können. + + + + Der Parameter $cipher_algo von + openssl_cms_encrypt kann eine Zeichenkette mit dem + Namen der Chiffre sein. + Dies erlaubt die Verwendung weiterer Algorithmen, einschließlich + AES-GCM-Chiffrealgorithmen für authentifizierte, gekapselte Daten. + + + + + + PCNTL + + + pcntl_exec hat nun den formalen Rückgabetyp + false. + + + + pcntl_waitid nimmt ein zusätzliches Argument + resource_usage entgegen, um verschiedene plattformspezifische Kennzahlen + über den Kindprozess zu sammeln. + + + + + + PDO_PGSQL + + + Pdo\Pgsql::copyFromArray unterstützt nun + iterable-Eingaben. + + + + Pdo\Pgsql::setAttribute und + Pdo\Pgsql::prepare unterstützen das Setzen von + PDO::ATTR_PREFETCH auf 0, wodurch der Lazy-Fetch-Modus + aktiviert wird. In diesem Modus können Anweisungen nicht parallel ausgeführt + werden. + + + + + + PostgreSQL + + + pg_copy_from unterstützt nun + iterable-Eingaben. + + + + pg_connect prüft, ob das Argument connection_string + ein Nullbyte enthält. + + + + pg_close_stmt prüft, ob das Argument statement_name + ein Nullbyte enthält. + + + + + + POSIX + + + posix_ttyname setzt last_error auf EBADF, wenn ein + ungültiger Dateideskriptor angetroffen wird. + + + + posix_isatty löst eine + E_WARNING-Meldung aus, wenn ein ungültiger + Dateideskriptor angetroffen wird. + + + + posix_fpathconf prüft ungültige Dateideskriptoren, + setzt last_error auf EBADF und löst eine + E_WARNING-Meldung aus. + + + + + + Reflection + + + Die Ausgabe von ReflectionClass::__toString für + Enums wurde geändert, um besser zu verdeutlichen, dass die Klasse ein Enum + ist und dass die Enum-Fälle Enum-Fälle und keine normalen + Klassenkonstanten sind. + + + + Die Ausgabe von ReflectionProperty::__toString für + Eigenschaften mit Hooks wurde geändert, um anzugeben, welche Hooks die + Eigenschaft besitzt, ob diese Hooks final sind und ob die Eigenschaft + virtuell ist. + Dies wirkt sich auch auf die Ausgabe von + ReflectionClass::__toString aus, wenn eine Klasse + Eigenschaften mit Hooks enthält. + + + + + + Sockets + + + socket_create/socket_bind können + Sockets der Familie AF_PACKET erstellen. + + + + socket_getsockname ermittelt bei einem + AF_PACKET-Socket den Schnittstellenindex und dessen + Zeichenkettendarstellung. + + + + + + Zlib + + + Das Argument $use_include_path der Funktionen + gzfile, gzopen und + readgzfile wurde von int in + bool geändert. + + + + Die Funktionen gzfile, + gzopen und readgzfile + berücksichtigen nun den Standard-Stream-Kontext. + + + + + + + + Sonstige Änderungen bei Erweiterungen + + + cURL + + + curl_setopt behandelt den Wert der Option + CURLOPT_FOLLOWLOCATION + nicht mehr als Boolean, sondern als Integer, um + CURLFOLLOW_OBEYCODE und + CURLFOLLOW_FIRSTONLY verarbeiten zu können. + + + + + + Fileinfo + + + file wurde von 5.45 auf 5.46 aktualisiert. + + + + Der Rückgabetyp von finfo_close wurde von + bool in true geändert. + + + + + + Intl + + + Der interne Fehlermechanismus von Intl wurde modernisiert, sodass er + genauer angibt, welche Aufrufstelle welchen Fehler verursacht hat. + Außerdem werden einige Exceptions von ext/date nun in einer + IntlException gekapselt. + + + + + + Lexbor + + + Eine stets aktivierte Erweiterung lexbor wurde hinzugefügt. Sie enthält die + Bibliothek lexbor, die von ext/dom + abgetrennt wurde, um sie in anderen Erweiterungen wiederverwenden zu können. + Die neue Erweiterung wird dem Userland nicht direkt zugänglich gemacht. + + + + + + Opcache + + + Die Erweiterung Opcache ist nun stets + in das PHP-Binary eingebaut und wird immer geladen. + Die INI-Direktiven + opcache.enable + und opcache.enable_cli werden + weiterhin berücksichtigt. + + + + + + PCRE + + + pcre2lib wurde von 10.44 auf 10.46 aktualisiert. + + + + + + PDO_Sqlite + + + Die minimal unterstützte Release-Version wurde von 3.7.7 auf 3.7.17 erhöht. + + + + + + Readline + + + Die Rückgabetypen von readline_add_history, + readline_clear_history + und readline_callback_handler_install wurden von + bool in true geändert. + + + + + + Reflection + + + ReflectionConstant ist nicht mehr final. + + + + + + + + Änderungen bei der Handhabung von INI-Dateien + + + PHP-Kern + + + Es wurde fatal_error_backtraces + hinzugefügt, um zu steuern, ob schwerwiegende Fehler einen Backtrace + enthalten sollen. + + + + + Es wurde die nur beim Start wirksame INI-Einstellung max_memory_limit + hinzugefügt, um das maximale memory_limit zu steuern, das beim Start oder + zur Laufzeit konfiguriert werden darf. Eine Überschreitung dieses Werts gibt + eine Warnung aus (sofern er nicht auf -1 gesetzt ist) und setzt memory_limit + stattdessen auf das aktuelle max_memory_limit. + + + + + + + Opcache + + + Es wurde opcache.file_cache_read_only hinzugefügt, um ein nur lesbares + Verzeichnis opcache.file_cache + zu unterstützen, zur Verwendung mit schreibgeschützten Dateisystemen + (&zb; schreibgeschützten Docker-Containern). + Am besten in Verbindung mit + opcache.validate_timestamps=0, + opcache.enable_file_override=1 + und opcache.file_cache_consistency_checks=0 zu verwenden. + + + + + Ein Cache, der mit einem anderen PHP-Build, einem anderen Dateipfad oder + anderen Einstellungen (einschließlich der geladenen Erweiterungen) erzeugt + wurde, kann ignoriert werden. + + + + + Der Standardwert von + opcache.jit_hot_loop ist nun + 61 (eine Primzahl), um zu verhindern, dass er ein Vielfaches der Anzahl von + Schleifeniterationen ist. + Es wird empfohlen, diesen Parameter auf eine Primzahl zu setzen. + + + + Das Ändern von opcache.memory_consumption, + wenn der OPcache-SHM bereits eingerichtet ist, meldet nun korrekt einen + Fehler, anstatt stillschweigend nichts zu tun und in PHPInfo irreführende + Werte anzuzeigen. + + + + + + OpenSSL + + + Es wurde openssl.libctx + hinzugefügt, um den Typ des OpenSSL-Bibliothekskontexts auszuwählen. + Es kann entweder ein eigener libctx je Thread verwendet werden oder ein + einzelner globaler (Standard-)libctx. + + + + + + + + Performance + + + PHP-Kern + + + Es wurden OPcodes für Identitätsvergleiche gegen Booleans entfernt, + insbesondere für das Muster match(true). + + + + Es wurde eine OPcode-Spezialisierung für die Vergleiche + === [] und !== [] hinzugefügt. + + + + Das Erstellen von Exception-Objekten ist nun deutlich schneller. + + + + Die Teile des Codes, die SSE2 verwendeten, wurden so angepasst, dass sie + auch SIMD mit ARM NEON verwenden. + + + + Es wurde die TAILCALL-VM eingeführt, die standardmäßig aktiviert ist, wenn + mit Clang>=19 auf x86_64 oder aarch64 kompiliert wird. Die TAILCALL-VM ist + so schnell wie die HYBRID-VM, die beim Kompilieren mit GCC verwendet wird. + Dadurch sind mit Clang>=19 erstellte PHP-Binaries so schnell wie mit GCC + erstellte Binaries. Die Leistung der CALL-VM, die bei anderen Compilern + verwendet wird, wurde ebenfalls erheblich verbessert. + + + + + + Intl + + + Beim Konvertieren von Zeichenketten zur Verwendung im Collator werden nun + keine zusätzlichen Zeichenkettenkopien mehr erstellt. + + + + + + MBString + + + Die Teile des Codes, die SSE2 verwendeten, wurden so angepasst, dass sie + auch SIMD mit ARM NEON verwenden. + + + + + + Opcache + + + Die Leistung beim Abrufen von TLS-Variablen in JIT-kompiliertem Code wurde + in Builds ohne Glibc verbessert. + + + + + + Reflection + + + Die Leistung der folgenden Methoden wurde verbessert: + + ReflectionProperty::getValue + ReflectionProperty::getRawValue + ReflectionProperty::isInitialized + ReflectionProperty::isInitialized + ReflectionProperty::setValue + ReflectionProperty::setRawValue + + + + + + + SPL + + + Die Leistung der Dimensions-Accessoren und Methoden von + SplFixedArray wurde verbessert. + + + + + + Standard + + + Die Leistung von Array-Funktionen mit Callbacks wurde verbessert + (array_find, array_filter, + array_map, usort, ...). + + + + Die Leistung von urlencode und + rawurlencode wurde verbessert. + + + + Die Leistung von unpack mit namenlosen Wiederholungen + wurde verbessert, indem das Erstellen temporärer Zeichenketten und deren + erneutes Parsen vermieden wird. + + + + Die Leistung von pack wurde verbessert. + + + + Geringfügige Verbesserungen der Leistung von + array_chunk. + + + + + + XML + + + Der Eigenschaftszugriff von XMLReader wurde + verbessert. + + + + Die Leistung von XMLWriter wurde verbessert und der + Speicherverbrauch reduziert. + + + + + + + + diff --git a/reference/errorfunc/ini.xml b/reference/errorfunc/ini.xml index 83e2b60c5..6985787bc 100644 --- a/reference/errorfunc/ini.xml +++ b/reference/errorfunc/ini.xml @@ -1,5 +1,4 @@ -