Other ChangesCore changes
The iterable type is now a built-in compile time alias for
arrayTraversable.
Error messages relating to
The date format of sent cookies is now Changes in SAPI ModulesCLIThe STDOUT, STDERR and STDIN streams are no longer closed on resource destruction which is mostly when the CLI finishes. It is however still possible to explicitly close those streams using fclose and similar. Changed FunctionsCore
The strcmp, strcasecmp,
strncmp, strncasecmp, and
substr_compare functions, using binary safe string
comparison is no longer guaranteed to return
DBAdba_open and dba_popen now have the following enforced signature:
resourcefalse dba_open(
string $path ,string $mode ,stringnull $handler = null ,int $permission = 0644,int $map_size = 0,intnull $flags = null ) dba_fetch's optional skip argument is now at the end in line with PHP userland semantics. Its signature is now: stringfalse dba_fetch(stringarray
The overloaded signature:
$key , resource $handle , int $skip )stringfalse dba_fetch(stringarray
is still accepted, but it is recommended to use the new standard variant.
$key , int $skip , resource $handle )Randomrandom_bytes and random_int now throw a \Random\RandomException on CSPRNG failures. Previously a plain \Exception was thrown instead. SPL
The Other Changes to ExtensionsDateThe properties of DatePeriod are now properly declared. IntlInstances of IntlBreakIterator, IntlRuleBasedBreakIterator, IntlCodePointBreakIterator, IntlPartsIterator, IntlCalendar, Collator, IntlIterator, UConverter, IntlDateFormatter, IntlDatePatternGenerator, MessageFormatter, ResourceBundle, Spoofchecker, IntlTimeZone, and Transliterator are no longer serializable. Previously, they could be serialized, but unserialization yielded unusable objects or failed. MySQLiThe support for libmysql has been removed and it is no longer possible to compile mysqli with libmysql. From now on, the mysqli extension can be compiled only with mysqlnd. All libmysql features unavailable in mysqlnd have been removed:
OCI8The minimum Oracle Client library version required is now 11.2. PCRE
NUL characters ( SessionTrying to change the session.cookie_samesite INI directive while the session is active or output has already been sent will now fail and emit a warning. This aligns the behaviour with all other session INI settings. SQLite3
sqlite3.defensive
is now Standardgetimagesize now reports the actual image dimensions, bits and channels of AVIF images. Previously, the dimensions have been reported as 0x0, and bits and channels have not been reported at all. TidyThe properties of the tidy class are now properly declared. And those of the tidyNode class are now properly declared as readonly. ZipThe Zip extension has been updated to version 1.20.0, which adds the following methods:
Changes to INI File Handling
Support for binary ( Parsing of some ill-formatted values will now trigger a warning when this was silently ignored before. For backwards compatibility, interpretation of these values has not changed. This affects the following settings:
|