ConFoo 2025

Sonstige Änderungen

Änderungen in SAPI-Modulen

CLI

Die Verwendung der Option -a ohne die Erweiterung readline führt nun zu einem Fehler. Zuvor hatte -a ohne readline, abgesehen von der zusätzliche Meldung "Interactive mode enabled", das gleiche Verhalten wie der Aufruf von php ohne Parameter. Dieser Modus war nicht interaktiv.

PHPDBG

Die Fähigkeit, remote zu debuggen, wurde von phpdbg entfernt.

Geänderte Funktionen

PHP-Kern

Die Reihenfolge der Eigenschaften, die in foreach, var_dump(), serialize(), Objektvergleichen etc. verwendet werden, wurde geändert. Die Eigenschaften sind jetzt so geordnet, wie sie deklariert und vererbt wurden. Die Eigenschaften, die in einer Basisklasse deklariert sind, stehen vor den Kind-Eigenschaften.

Diese Reihenfolge entspricht dem internen Layout der Eigenschaften in der zend_object-Struktur und reproduziert die Reihenfolge in default_properties_table[] und properties_info_table[]. Die alte Reihenfolge war nicht dokumentiert und wurde durch Implementierungsdetails der Klassenvererbung verursacht.

Filter

Das Flag FILTER_FLAG_ALLOW_OCTAL des Filters FILTER_VALIDATE_INT akzeptiert nun oktale Zeichenketten mit vorangestelltem Oktalpräfix ("0o"/"0O").

GMP

Alle GMP-Funktionen akzeptieren nun oktale Zeichenketten mit vorangestelltem Oktalpräfix ("0o"/"0O").

PDO ODBC

Die Methode PDO::getAttribute() gibt in Verbindung mit PDO::ATTR_SERVER_INFO und PDO::ATTR_SERVER_VERSION nun Werte zurück, anstatt eine PDOException auszulösen.

Reflection

Die Methoden ReflectionProperty::setAccessible() und ReflectionMethod::setAccessible() haben keine Auswirkung mehr. Bei Eigenschaften und Methoden wird nun immer davon ausgegangen, dass sie über Reflection zugänglich sind.

Standard

syslog() ist nun binärsicher.

Sonstige Änderungen bei Erweiterungen

GD

imagewebp() kann nun durch Übergabe von IMG_WEBP_LOSSLESS als Qualitätsparameter verlustfreie WebP-Kodierungen durchführen.

Diese Konstante ist nur definiert, wenn die verwendete libgd die verlustfreie WebP-Kodierung unterstützt.

MySQLi

Wenn PHP gegen die Bibliothek libmysqlclient gelinkt wird, sind nun die Funktionen mysqli_stmt::next_result() und mysqli::fetch_all() verfügbar.

OpenSSL

  • Die Erweiterung OpenSSL benötigt nun mindestens die OpenSSL-Version 1.0.2.

  • OpenSSL 3.0 wird nun unterstützt. Es ist zu beachten, dass viele Verschlüsselungsmethoden nicht mehr standardmäßig aktiviert sind (es handelt sich um einen Teil des Legacy-Anbieters), und dass die Validierung (z. B. minimale Schlüsselgrößen) jetzt strenger ist.

Phar

  • Für Signaturen wird nun standardmäßig SHA256 verwendet.

  • Die Unterstützung für OpenSSL_SHA256- und OpenSSL_SHA512-Signaturen wurde hinzugefügt.

SNMP

  • Für das Sicherheitsprotokoll wurde die Unterstützung für SHA256 und SHA512 hinzugefügt.

Standard

--with-password-argon2 verwendet nun pkg-config, um libargon2 zu erkennen. Aus diesem Grund sollte ein alternativer Speicherort für libargon2 nun mittels PKG_CONFIG_PATH angegeben werden.

Änderungen bei der Handhabung von INI-Dateien

  • Die INI-Direktive log_errors_max_len wurde entfernt. Sie hatte seit PHP 8.0.0 keine Wirkung mehr.

  • Ein vorangestelltes Dollarzeichen in einer Zeichenkette mit Anführungszeichen kann nun maskiert werden: "\${" wird nun als Zeichenkette mit dem Inhalt ${ interpretiert.

  • Backslashes in Zeichenketten mit doppelten Anführungszeichen werden nun konsequenter als Maskierungs-Zeichen behandelt. Zuvor galt "foo\" gefolgt von etwas anderem als einem Zeilenumbruch als unvollständige Zeichenkette. Jetzt wird sie als Zeichenkette mit dem Inhalt foo\ interpretiert. Als Ausnahme wird jedoch die Zeichenkette "foo\" gefolgt von einem Zeilenumbruch weiterhin als gültige Zeichenkette mit Inhalt foo\ behandelt und nicht als unvollständige Zeichenkette. Diese Ausnahme existiert, um die einfache Verwendungen von Windows-Dateipfaden, z. B. "C:\foo\", zu unterstützen.

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top