Das PHP-Modul wurde von php7_module
in php_module
umbenannt.
Die Ergebnisse von ReflectionClass::getReflectionConstants() können nun mit dem neuen Parameter filter
gefiltert werden. Drei neue Konstanten wurden hinzugefügt, die damit verwendet werden können:
Die mathematischen Funktionen abs(), ceil(), floor() und round() berücksichtigen die Direktive strict_types
nun korrekt. Zuvor wurde der erste Parameter auch im strikten Typisierungsmodus erzwungen.
Die Methoden ZipArchive::addGlob() und ZipArchive::addPattern() akzeptieren mehr Werte im Parameter-Array options
:
flags
comp_method
comp_flags
env_method
enc_password
Die Methoden ZipArchiv::addEmptyDir(), ZipArchiv::addFile() und ZipArchive::addFromString() haben den neuen Parameter flags
. Damit können die Namenskodierung (ZipArchive::FL_ENC_*
) und die Ersetzung von Einträgen (ZipArchive::FL_OVERWRITE
) verwaltet werden.
Die Methode ZipArchive::extractTo() stellt nun die Änderungszeit der Dateien wieder her.
Die Erweiterung CURL benötigt jetzt mindestens libcurl 7.29.0.
Der veraltete Parameter version
der Funktion curl_version() wurde entfernt.
Die Klasse DatePeriod implementiert nun IteratorAggregate anstelle von Traversable.
Die Klassen DOMNamedNodeMap und DOMNodeList implementieren nun IteratorAggregate anstelle von Traversable.
Die Klassen IntlBreakIterator und ResourceBundle implementieren nun IteratorAggregate anstelle von Traversable.
Die Erweiterung enchant verwendet nun standardmäßig libenchant-2, falls verfügbar. libenchant Version 1 wird noch unterstützt, ist aber veraltet und könnte in Zukunft entfernt werden.
Der Parameter num_points
der Funktionen imagepolygon(), imageopenpolygon() und imagefilledpolygon() ist nun optional, d. h. diese Funktionen können nun entweder mit 3 oder mit 4 Parametern aufgerufen werden. Falls der Parameter weggelassen wird, wird er anhand von count($points)/2
berechnet.
Die Funktion imagegetinterpolation() wurde hinzugefügt, um die aktuelle Interpolationsmethode zu ermitteln.
Die Erweiterung JSON kann nicht mehr deaktiviert werden und ist immer ein integraler Bestandteil eines jeden PHP-Builds, ähnlich wie die Erweiterung date.
Die Unicode-Datentabellen wurden auf Version 13.0.0 aktualisiert.
PDOStatement implementiert nun IteratorAggregate anstelle von Traversable.
Die minimal erforderliche libxml-Version ist nun 2.9.0. Dies bedeutet, dass das Laden von externen Entities nun garantiert standardmäßig deaktiviert ist und keine zusätzlichen Maßnahmen zum Schutz vor XXE-Angriffen ergriffen werden müssen.
Wenn mysqlnd nicht verwendet wird (dies ist die standardmäßige und empfohlene Option), ist die niedrigste unterstützte libmysqlclient-Version nun 5.5.
mysqli_result implementiert nun IteratorAggregate anstelle von Traversable.
Die Erweiterungen PGSQL und PDO-PGSQL benötigen nun mindestens libpq 9.1.
Der Aufruf von readline_completion_function() vor dem Start der interaktiven Eingabeaufforderung (z. B. in auto_prepend_file) überschreibt nun die standardmäßige Vervollständigungs-Funktion der interaktiven Eingabeaufforderung. Zuvor funktionierte readline_completion_function() nur, wenn sie nach dem Start der interaktiven Eingabeaufforderung aufgerufen wurde.
SimpleXMLElement implementiert nun RecursiveIterator und übernimmt die Funktionalität von SimpleXMLIterator. SimpleXMLIterator ist eine leere Erweiterung von SimpleXMLElement.
com.dotnet_version ist eine neue INI-Direktive, um die Version des .NET-Frameworks festzulegen, das für dotnet-Objekte verwendet wird.
zend.exception_string_param_max_len ist eine neue INI-Direktive, um die maximale Länge einer Zeichenkette in einem Parameter eines stringifizierten Stackstraces festzulegen.
EBCDIC-Targets werden nicht mehr unterstützt, wobei es eher unwahrscheinlich ist, dass sie überhaupt noch funktionieren.
Der Erweiterung opcache wurde ein Just-In-Time- (JIT) Compiler hinzugefügt.
Die Funktion array_slice() durchsucht bei einem Array ohne Lücken nicht mehr das gesamte Array, um den Start-Offset zu finden. Dies kann die Laufzeit der Funktion bei großen Offsets und kleinen Längen erheblich reduzieren.
Wenn die Locale von LC_CTYPE
"C"
ist (was der Standard ist), verwendet die Funktion strtolower() nun die SIMD-Implementierung.