PHP 8.5 Codex Changelog
| Newly added | Improvements | Changed | Deprecations | Removals | |
|---|---|---|---|---|---|
| INI Directives | 6 | ‧ | 39 | 2 | 1 |
| Constants | 38 | ‧ | 15 | 40 | ‧ |
| Classes | 11 | ‧ | 8 | ‧ | 2 |
| Extensions | 2 | ‧ | ‧ | ‧ | 2 |
| Functions | 16 | 67 | ‧ | 7 | 16 |
| Attributes | 2 | ‧ | ‧ | ‧ | ‧ |
| Enums | 2 | ‧ | ‧ | ‧ | ‧ |
Changed
INI Directives
Global
mail.add_x_headerINI directive default value changed from
` to0`opcache.jitINI directive default value changed from
1235todisableopcache.enable_cliINI directive default value changed from
0to1mysqlnd.collect_memory_statisticsINI directive default value changed from
` to0`mysqli.default_userINI directive default value changed from
tomysqli.default_socketINI directive default value changed from
/var/run/mysqld/mysqld.sockto ``mysqli.default_pwINI directive default value changed from
tomysqli.default_hostINI directive default value changed from
tomail.mixed_lf_and_crlfINI directive default value changed from
` to0`opcache.jit_buffer_sizeINI directive default value changed from
256Mto64Mlog_errorsINI directive default value changed from
1to0include_pathINI directive default value changed from
.:/usr/share/phpto.:ignore_repeated_sourceINI directive default value changed from
` to0`ignore_repeated_errorsINI directive default value changed from
` to0`session.gc_probabilityINI directive default value changed from
0to1zlib.output_compressionINI directive default value changed from
` to0`zend.exception_string_param_max_lenINI directive default value changed from
0to15zend.exception_ignore_argsINI directive default value changed from
1to0zend.assertionsINI directive default value changed from
-1to1variables_orderINI directive default value changed from
GPCStoEGPCSuser_dirINI directive default value changed from
tounserialize_callback_funcINI directive default value changed from
totidy.clean_outputINI directive default value changed from
` to0`short_open_tagINI directive default value changed from
` to1`session.save_pathINI directive default value changed from
/var/lib/php/sessionsto ``memory_limitINI directive default value changed from
-1to128Msession.gc_divisorINI directive default value changed from
1000to100session.cookie_httponlyINI directive default value changed from
` to0`request_orderINI directive default value changed from
GPto ``register_argc_argvINI directive default value changed from
1to0pgsql.auto_reset_persistentINI directive default value changed from
` to0`pdo_mysql.default_socketINI directive default value changed from
/var/run/mysqld/mysqld.sockto/tmp/mysql.sockopcache.jit_hot_loopINI directive default value changed from
64to61allow_url_includeINI directive default value changed from
` to0`auto_prepend_fileINI directive default value changed from
toauto_append_fileINI directive default value changed from
todisplay_errorsINI directive default value changed from
` to1`enable_dlINI directive default value changed from
` to1`display_startup_errorsINI directive default value changed from
` to1`
Constants
curl
CURLVERSION_NOWConstant value changed from
10to11
filter
FILTER_FLAG_GLOBAL_RANGEConstant value changed from
268435456to536870912
gd
GD_MINOR_VERSIONConstant value changed from
3to0GD_RELEASE_VERSIONConstant value changed from
3to35GD_VERSIONConstant value changed from
2.3.3to2.0.35
pcre
PCRE_VERSIONConstant value changed from
10.42 2022-12-11to10.46 2025-08-27PCRE_VERSION_MINORConstant value changed from
42to46
standard
GLOB_NOSORTConstant value changed from
4to32GLOB_AVAILABLE_FLAGSConstant value changed from
9303to1073746108GLOB_BRACEConstant value changed from
1024to128GLOB_ERRConstant value changed from
1to4GLOB_MARKConstant value changed from
2to8GLOB_NOESCAPEConstant value changed from
64to4096GLOB_ONLYDIRConstant value changed from
8192to1073741824IMAGETYPE_COUNTConstant value changed from
20to22
Classes
ext-dom
Dom\HTMLCollectionCloning class objects is no longer allowed
Dom\NamedNodeMapCloning class objects is no longer allowed
Dom\NodeListCloning class objects is no longer allowed
DOMNodeListCloning class objects is no longer allowed
DOMNamedNodeMapCloning class objects is no longer allowed
Dom\DtdNamedNodeMapCloning class objects is no longer allowed
ext-Reflection
ReflectionConstantClass no longer marked
final
Core
Directory- Cloning class objects is no longer allowed
- Class is marked
final
Newly added
INI Directives
Global
opcache.file_cache_read_onlyINI directive added
max_memory_limitINI directive added
mail.cr_lf_modeINI directive added
fatal_error_backtracesINI directive added
session.cookie_partitionedINI directive added
openssl.libctxINI directive added
Extensions
Global
ext-uriExtension added
ext-lexborExtension added
Constants
Core
PHP_BUILD_DATEConstant added
ZEND_VM_KINDConstant added
curl
CURLINFO_CONN_IDConstant added
CURLFOLLOW_ALLConstant added
CURLFOLLOW_FIRSTONLYConstant added
CURLFOLLOW_OBEYCODEConstant added
CURLINFO_HTTPAUTH_USEDConstant added
CURLINFO_POSTTRANSFER_TIME_TConstant added
CURLOPT_TCP_KEEPCNTConstant added
CURLOPT_SSL_SIGNATURE_ALGORITHMSConstant added
CURLINFO_QUEUE_TIME_TConstant added
CURLINFO_PROXYAUTH_USEDConstant added
CURLOPT_INFILESIZE_LARGEConstant added
CURLINFO_USED_PROXYConstant added
filter
FILTER_THROW_ON_FAILUREConstant added
openssl
PKCS7_NOSMIMECAPConstant added
PKCS7_NOCRLConstant added
PKCS7_NO_DUAL_CONTENTConstant added
PKCS7_CRLFEOLConstant added
OPENSSL_PKCS1_PSS_PADDINGConstant added
pgsql
PGSQL_TUPLES_CHUNKConstant added
posix
POSIX_SC_OPEN_MAXConstant added
sockets
IPPROTO_ICMPConstant added
ETH_P_IPV6Constant added
ETH_P_LOOPConstant added
ETH_P_ALLConstant added
UDP_SEGMENTConstant added
IPPROTO_ICMPV6Constant added
AF_PACKETConstant added
SHUT_RDWRConstant added
SHUT_WRConstant added
SO_BUSY_POLLConstant added
ETH_P_IPConstant added
SHUT_RDConstant added
standard
IMAGETYPE_HEIFConstant added
IMAGETYPE_SVGConstant added
tokenizer
T_PIPEConstant added
T_VOID_CASTConstant added
Functions
Core
get_error_handlerFunction added
get_exception_handlerFunction added
cloneFunction added
ext-curl
curl_multi_get_handlesFunction added
curl_share_init_persistentFunction added
ext-enchant
enchant_dict_removeFunction added
enchant_dict_remove_from_sessionFunction added
ext-intl
locale_minimize_subtagsFunction added
locale_add_likely_subtagsFunction added
grapheme_levenshteinFunction added
locale_is_right_to_leftFunction added
ext-pgsql
pg_set_chunked_rows_sizeFunction added
pg_close_stmtFunction added
Core
array_lastFunction added
array_firstFunction added
ext-Zend OPcache
opcache_is_script_cached_in_file_cacheFunction added
Attributes
Core
NoDiscardAttribute added
DelayedTargetValidationAttribute added
Classes
ext-curl
CurlSharePersistentHandleClass added
ext-filter
Filter\FilterExceptionException class added
Filter\FilterFailedExceptionException class added
ext-intl
IntlListFormatterClass added
ext-uri
Uri\Rfc3986\UriClass added
Uri\InvalidUriExceptionException class added
Uri\UriExceptionException class added
Uri\UriErrorException class added
Uri\WhatWg\InvalidUrlExceptionException class added
Uri\WhatWg\UrlClass added
Uri\WhatWg\UrlValidationErrorClass added
Enums
ext-uri
Uri\UriComparisonModeEnum added
Uri\WhatWg\UrlValidationErrorTypeEnum added
Deprecations
INI Directives
Global
intl.error_levelINI directive deprecated: Using a value different than 0 for
intl.error_levelis deprecated, as theintl.error_levelINI setting is deprecated. Instead the intl.use_exceptions INI setting should be enabled to throw exceptions on errors or intl_get_error_code()/intl_get_error_message() should be used to manually deal with errorsreport_memleaksINI directive deprecated: Directive '
report_memleaks' is deprecated
Constants
date
DATE_RFC7231Constant deprecated
var_dump(DATE_RFC7231); // D, d M Y H:i:s \G\M\TConstant DATE_RFC7231 is deprecated since 8.5, as this format ignores the associated timezone and always uses GMT
hash
MHASH_RIPEMD128Constant deprecated
var_dump(MHASH_RIPEMD128); // 23Constant MHASH_RIPEMD128 is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_MURMUR3FConstant deprecated
var_dump(MHASH_MURMUR3F); // 37Constant MHASH_MURMUR3F is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_RIPEMD320Constant deprecated
var_dump(MHASH_RIPEMD320); // 25Constant MHASH_RIPEMD320 is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_RIPEMD256Constant deprecated
var_dump(MHASH_RIPEMD256); // 24Constant MHASH_RIPEMD256 is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_RIPEMD160Constant deprecated
var_dump(MHASH_RIPEMD160); // 5Constant MHASH_RIPEMD160 is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_CRC32CConstant deprecated
var_dump(MHASH_CRC32C); // 34Constant MHASH_CRC32C is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_FNV132Constant deprecated
var_dump(MHASH_FNV132); // 29Constant MHASH_FNV132 is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_FNV164Constant deprecated
var_dump(MHASH_FNV164); // 31Constant MHASH_FNV164 is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_FNV1A32Constant deprecated
var_dump(MHASH_FNV1A32); // 30Constant MHASH_FNV1A32 is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_FNV1A64Constant deprecated
var_dump(MHASH_FNV1A64); // 32Constant MHASH_FNV1A64 is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_GOSTConstant deprecated
var_dump(MHASH_GOST); // 8Constant MHASH_GOST is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_HAVAL128Constant deprecated
var_dump(MHASH_HAVAL128); // 13Constant MHASH_HAVAL128 is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_SHA1Constant deprecated
var_dump(MHASH_SHA1); // 2Constant MHASH_SHA1 is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_MURMUR3CConstant deprecated
var_dump(MHASH_MURMUR3C); // 36Constant MHASH_MURMUR3C is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_MURMUR3AConstant deprecated
var_dump(MHASH_MURMUR3A); // 35Constant MHASH_MURMUR3A is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_MD5Constant deprecated
var_dump(MHASH_MD5); // 1Constant MHASH_MD5 is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_HAVAL160Constant deprecated
var_dump(MHASH_HAVAL160); // 12Constant MHASH_HAVAL160 is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_MD4Constant deprecated
var_dump(MHASH_MD4); // 16Constant MHASH_MD4 is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_MD2Constant deprecated
var_dump(MHASH_MD2); // 28Constant MHASH_MD2 is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_JOAATConstant deprecated
var_dump(MHASH_JOAAT); // 33Constant MHASH_JOAAT is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_HAVAL256Constant deprecated
var_dump(MHASH_HAVAL256); // 3Constant MHASH_HAVAL256 is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_HAVAL224Constant deprecated
var_dump(MHASH_HAVAL224); // 10Constant MHASH_HAVAL224 is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_HAVAL192Constant deprecated
var_dump(MHASH_HAVAL192); // 11Constant MHASH_HAVAL192 is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_XXH3Constant deprecated
var_dump(MHASH_XXH3); // 40Constant MHASH_XXH3 is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_ADLER32Constant deprecated
var_dump(MHASH_ADLER32); // 18Constant MHASH_ADLER32 is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_CRC32Constant deprecated
var_dump(MHASH_CRC32); // 0Constant MHASH_CRC32 is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_XXH64Constant deprecated
var_dump(MHASH_XXH64); // 39Constant MHASH_XXH64 is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_XXH32Constant deprecated
var_dump(MHASH_XXH32); // 38Constant MHASH_XXH32 is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_CRC32BConstant deprecated
var_dump(MHASH_CRC32B); // 9Constant MHASH_CRC32B is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_XXH128Constant deprecated
var_dump(MHASH_XXH128); // 41Constant MHASH_XXH128 is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_WHIRLPOOLConstant deprecated
var_dump(MHASH_WHIRLPOOL); // 22Constant MHASH_WHIRLPOOL is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_TIGER160Constant deprecated
var_dump(MHASH_TIGER160); // 15Constant MHASH_TIGER160 is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_TIGER128Constant deprecated
var_dump(MHASH_TIGER128); // 14Constant MHASH_TIGER128 is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_TIGERConstant deprecated
var_dump(MHASH_TIGER); // 7Constant MHASH_TIGER is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_SNEFRU256Constant deprecated
var_dump(MHASH_SNEFRU256); // 27Constant MHASH_SNEFRU256 is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_SHA512Constant deprecated
var_dump(MHASH_SHA512); // 20Constant MHASH_SHA512 is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_SHA384Constant deprecated
var_dump(MHASH_SHA384); // 21Constant MHASH_SHA384 is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_SHA256Constant deprecated
var_dump(MHASH_SHA256); // 17Constant MHASH_SHA256 is deprecated since 8.5, as the mhash*() functions were deprecatedMHASH_SHA224Constant deprecated
var_dump(MHASH_SHA224); // 19Constant MHASH_SHA224 is deprecated since 8.5, as the mhash*() functions were deprecated
Functions
ext-curl
curl_share_closeFunction deprecated
curl_closeFunction deprecated
ext-fileinfo
finfo_closeFunction deprecated
ext-gd
imagedestroyFunction deprecated
ext-mysqli
mysqli_executeFunction deprecated
Core
socket_set_timeoutFunction deprecated
ext-xml
xml_parser_freeFunction deprecated
Removals
Extensions
Global
ext-xmlrpcExtension removed
ext-PDO_FirebirdExtension removed
INI Directives
Global
disable_classesINI directive removed
Functions
ext-pcntl
pcntl_setnsFunction removed
Core
chrootFunction removed
ext-xmlrpc
xmlrpc_server_register_introspection_callbackFunction removed
xmlrpc_encode_requestFunction removed
xmlrpc_get_typeFunction removed
xmlrpc_parse_method_descriptionsFunction removed
xmlrpc_is_faultFunction removed
xmlrpc_server_createFunction removed
xmlrpc_server_call_methodFunction removed
xmlrpc_decodeFunction removed
xmlrpc_server_add_introspection_dataFunction removed
xmlrpc_encodeFunction removed
xmlrpc_decode_requestFunction removed
xmlrpc_set_typeFunction removed
xmlrpc_server_register_methodFunction removed
xmlrpc_server_destroyFunction removed
Classes
ext-PDO_Firebird
Pdo\FirebirdClass removed
ext-xmlrpc
XmlRpcServerClass removed
Improvements
Functions
ext-date
timezone_transitions_getParameter default value changed for position #3 (
$timestampEnd):PHP_INT_MAXto2147483647timezone_transitions_get( DateTimeZone $object, int $timestampBegin = PHP_INT_MIN, - int $timestampEnd = PHP_INT_MAX + int $timestampEnd = 2147483647 ): array|false
ext-ftp
ftp_set_optionReturn type changed:
booltotrueftp_set_option( FTP\Connection $ftp, int $option, $value - ): bool + ): true
ext-gd
imagelayereffectReturn type changed:
booltotrue- imagelayereffect(GdImage $image, int $effect): bool + imagelayereffect(GdImage $image, int $effect): trueimagelineReturn type changed:
booltotrueimageline( GdImage $image, int $x1, int $y1, int $x2, int $y2, int $color - ): bool + ): trueimagerectangleReturn type changed:
booltotrueimagerectangle( GdImage $image, int $x1, int $y1, int $x2, int $y2, int $color - ): bool + ): trueimageresolutionReturn type changed:
array|booltoarray|trueimageresolution( GdImage $image, ?int $resolution_x = null, ?int $resolution_y = null - ): array|bool + ): array|trueimagesavealphaReturn type changed:
booltotrue- imagesavealpha(GdImage $image, bool $enable): bool + imagesavealpha(GdImage $image, bool $enable): trueimagesetbrushReturn type changed:
booltotrue- imagesetbrush(GdImage $image, GdImage $brush): bool + imagesetbrush(GdImage $image, GdImage $brush): trueimagesetclipReturn type changed:
booltotrueimagesetclip( GdImage $image, int $x1, int $y1, int $x2, int $y2 - ): bool + ): trueimagesetpixelReturn type changed:
booltotrueimagesetpixel( GdImage $image, int $x, int $y, int $color - ): bool + ): trueimagesetthicknessReturn type changed:
booltotrue- imagesetthickness(GdImage $image, int $thickness): bool + imagesetthickness(GdImage $image, int $thickness): trueimagesettileReturn type changed:
booltotrue- imagesettile(GdImage $image, GdImage $tile): bool + imagesettile(GdImage $image, GdImage $tile): trueimagestringReturn type changed:
booltotrueimagestring( GdImage $image, GdFont|int $font, int $x, int $y, string $string, int $color - ): bool + ): trueimagestringupReturn type changed:
booltotrueimagestringup( GdImage $image, GdFont|int $font, int $x, int $y, string $string, int $color - ): bool + ): trueimagecolordeallocateReturn type changed:
booltotrue- imagecolordeallocate(GdImage $image, int $color): bool + imagecolordeallocate(GdImage $image, int $color): trueimageflipReturn type changed:
booltotrue- imageflip(GdImage $image, int $mode): bool + imageflip(GdImage $image, int $mode): trueimagealphablendingReturn type changed:
booltotrue- imagealphablending(GdImage $image, bool $enable): bool + imagealphablending(GdImage $image, bool $enable): trueimageantialiasReturn type changed:
booltotrue- imageantialias(GdImage $image, bool $enable): bool + imageantialias(GdImage $image, bool $enable): trueimagearcReturn type changed:
booltotrueimagearc( GdImage $image, int $center_x, int $center_y, int $width, int $height, int $start_angle, int $end_angle, int $color - ): bool + ): trueimagecharReturn type changed:
booltotrueimagechar( GdImage $image, GdFont|int $font, int $x, int $y, string $char, int $color - ): bool + ): trueimagecharupReturn type changed:
booltotrueimagecharup( GdImage $image, GdFont|int $font, int $x, int $y, string $char, int $color - ): bool + ): trueimagecolormatchReturn type changed:
booltotrue- imagecolormatch(GdImage $image1, GdImage $image2): bool + imagecolormatch(GdImage $image1, GdImage $image2): trueimagecopyReturn type changed:
booltotrueimagecopy( GdImage $dst_image, GdImage $src_image, int $dst_x, int $dst_y, int $src_x, int $src_y, int $src_width, int $src_height - ): bool + ): trueimagecopymergeReturn type changed:
booltotrueimagecopymerge( GdImage $dst_image, GdImage $src_image, int $dst_x, int $dst_y, int $src_x, int $src_y, int $src_width, int $src_height, int $pct - ): bool + ): trueimagecopymergegrayReturn type changed:
booltotrueimagecopymergegray( GdImage $dst_image, GdImage $src_image, int $dst_x, int $dst_y, int $src_x, int $src_y, int $src_width, int $src_height, int $pct - ): bool + ): trueimagecopyresampledReturn type changed:
booltotrueimagecopyresampled( GdImage $dst_image, GdImage $src_image, int $dst_x, int $dst_y, int $src_x, int $src_y, int $dst_width, int $dst_height, int $src_width, int $src_height - ): bool + ): trueimagecopyresizedReturn type changed:
booltotrueimagecopyresized( GdImage $dst_image, GdImage $src_image, int $dst_x, int $dst_y, int $src_x, int $src_y, int $dst_width, int $dst_height, int $src_width, int $src_height - ): bool + ): trueimagedashedlineReturn type changed:
booltotrueimagedashedline( GdImage $image, int $x1, int $y1, int $x2, int $y2, int $color - ): bool + ): trueimageellipseReturn type changed:
booltotrueimageellipse( GdImage $image, int $center_x, int $center_y, int $width, int $height, int $color - ): bool + ): trueimagefillReturn type changed:
booltotrueimagefill( GdImage $image, int $x, int $y, int $color - ): bool + ): trueimagefilledarcReturn type changed:
booltotrueimagefilledarc( GdImage $image, int $center_x, int $center_y, int $width, int $height, int $start_angle, int $end_angle, int $color, int $style - ): bool + ): trueimagefilledellipseReturn type changed:
booltotrueimagefilledellipse( GdImage $image, int $center_x, int $center_y, int $width, int $height, int $color - ): bool + ): trueimagefilledrectangleReturn type changed:
booltotrueimagefilledrectangle( GdImage $image, int $x1, int $y1, int $x2, int $y2, int $color - ): bool + ): trueimagefilltoborderReturn type changed:
booltotrueimagefilltoborder( GdImage $image, int $x, int $y, int $border_color, int $color - ): bool + ): trueimagegammacorrectReturn type changed:
booltotrueimagegammacorrect( GdImage $image, float $input_gamma, float $output_gamma - ): bool + ): true
ext-intl
intltz_create_enumerationParameter type added for parameter #1 (
$countryOrRawOffset):string|int|null- intltz_create_enumeration($countryOrRawOffset = null): IntlIterator|false + intltz_create_enumeration(string|int|null $countryOrRawOffset = null): IntlIterator|falsetransliterator_get_error_codeReturn type changed:
int|falsetoint- transliterator_get_error_code(Transliterator $transliterator): int|false + transliterator_get_error_code(Transliterator $transliterator): inttransliterator_get_error_messageReturn type changed:
string|falsetostring- transliterator_get_error_message(Transliterator $transliterator): string|false + transliterator_get_error_message(Transliterator $transliterator): stringdatefmt_set_timezoneParameter type added for parameter #2 (
$timezone):IntlTimeZone|DateTimeZone|string|null- datefmt_set_timezone(IntlDateFormatter $formatter, $timezone): bool + datefmt_set_timezone(IntlDateFormatter $formatter, IntlTimeZone|DateTimeZone|string|null $timezone): booldatefmt_createParameter type added for parameter #4 (
$timezone):IntlTimeZone|DateTimeZone|string|nulldatefmt_create( ?string $locale, int $dateType = IntlDateFormatter::FULL, int $timeType = IntlDateFormatter::FULL, - $timezone = null, + IntlTimeZone|DateTimeZone|string|null $timezone = null, IntlCalendar|int|null $calendar = null, ?string $pattern = null ): ?IntlDateFormattergrapheme_stripos- Optional parameter added - #4:
string $locale = ""
grapheme_stripos( string $haystack, string $needle, - int $offset = 0 + int $offset = 0, + string $locale = "" ): int|falsegrapheme_stristr- Optional parameter added - #4:
string $locale = ""
grapheme_stristr( string $haystack, string $needle, - bool $beforeNeedle = false + bool $beforeNeedle = false, + string $locale = "" ): string|falsegrapheme_strpos- Optional parameter added - #4:
string $locale = ""
grapheme_strpos( string $haystack, string $needle, - int $offset = 0 + int $offset = 0, + string $locale = "" ): int|falsegrapheme_strripos- Optional parameter added - #4:
string $locale = ""
grapheme_strripos( string $haystack, string $needle, - int $offset = 0 + int $offset = 0, + string $locale = "" ): int|falsegrapheme_strrpos- Optional parameter added - #4:
string $locale = ""
grapheme_strrpos( string $haystack, string $needle, - int $offset = 0 + int $offset = 0, + string $locale = "" ): int|falsegrapheme_strstr- Optional parameter added - #4:
string $locale = ""
grapheme_strstr( string $haystack, string $needle, - bool $beforeNeedle = false + bool $beforeNeedle = false, + string $locale = "" ): string|falsegrapheme_substr- Optional parameter added - #4:
string $locale = ""
grapheme_substr( string $string, int $offset, - ?int $length = null + ?int $length = null, + string $locale = "" ): string|falseintlcal_create_instanceParameter type added for parameter #1 (
$timezone):IntlTimeZone|DateTimeZone|string|null- intlcal_create_instance($timezone = null, ?string $locale = null): ?IntlCalendar + intlcal_create_instance(IntlTimeZone|DateTimeZone|string|null $timezone = null, ?string $locale = null): ?IntlCalendarintlcal_set_time_zoneParameter type added for parameter #2 (
$timezone):IntlTimeZone|DateTimeZone|string|null- intlcal_set_time_zone(IntlCalendar $calendar, $timezone): bool + intlcal_set_time_zone(IntlCalendar $calendar, IntlTimeZone|DateTimeZone|string|null $timezone): boolext-ldap
ldap_get_optionParameter type changed for parameter #1 (
$ldap):LDAP\Connectionto?LDAP\Connectionldap_get_option( - LDAP\Connection $ldap, + ?LDAP\Connection $ldap, int $option, &$value = null ): bool
ext-libxml
libxml_set_external_entity_loaderReturn type changed:
booltotrue- libxml_set_external_entity_loader(?callable $resolver_function): bool + libxml_set_external_entity_loader(?callable $resolver_function): true
ext-openssl
openssl_public_encrypt- Optional parameter added - #5:
?string $digest_algo = null
openssl_public_encrypt( string $data, &$encrypted_data, $public_key, - int $padding = OPENSSL_PKCS1_PADDING + int $padding = OPENSSL_PKCS1_PADDING, + ?string $digest_algo = null ): boolopenssl_cms_encryptParameter type changed for parameter #7 (
$cipher_algo):inttostring|intopenssl_cms_encrypt( string $input_filename, string $output_filename, $certificate, ?array $headers, int $flags = 0, int $encoding = OPENSSL_ENCODING_SMIME, - int $cipher_algo = OPENSSL_CIPHER_AES_128_CBC + string|int $cipher_algo = OPENSSL_CIPHER_AES_128_CBC ): boolopenssl_private_decrypt- Optional parameter added - #5:
?string $digest_algo = null
openssl_private_decrypt( string $data, &$decrypted_data, $private_key, - int $padding = OPENSSL_PKCS1_PADDING + int $padding = OPENSSL_PKCS1_PADDING, + ?string $digest_algo = null ): boolopenssl_sign- Optional parameter added - #5:
int $padding = 0
openssl_sign( string $data, &$signature, $private_key, - string|int $algorithm = OPENSSL_ALGO_SHA1 + string|int $algorithm = OPENSSL_ALGO_SHA1, + int $padding = 0 ): boolopenssl_verify- Optional parameter added - #5:
int $padding = 0
openssl_verify( string $data, string $signature, $public_key, - string|int $algorithm = OPENSSL_ALGO_SHA1 + string|int $algorithm = OPENSSL_ALGO_SHA1, + int $padding = 0 ): int|falseext-pcntl
pcntl_execReturn type changed:
booltofalsepcntl_exec( string $path, array $args = [], array $env_vars = [] - ): bool + ): falsepcntl_waitid- Optional parameter added - #5:
&$resource_usage = []
pcntl_waitid( int $idtype = P_ALL, ?int $id = null, &$info = [], - int $flags = WEXITED + int $flags = WEXITED, + &$resource_usage = [] ): boolext-pgsql
pg_copy_fromParameter type changed for parameter #3 (
$rows):arraytoTraversable|arraypg_copy_from( PgSql\Connection $connection, string $table_name, - array $rows, + Traversable|array $rows, string $separator = "\t", string $null_as = "\\\\N" ): bool
ext-readline
readline_add_historyReturn type changed:
booltotrue- readline_add_history(string $prompt): bool + readline_add_history(string $prompt): truereadline_callback_handler_installReturn type changed:
booltotrue- readline_callback_handler_install(string $prompt, callable $callback): bool + readline_callback_handler_install(string $prompt, callable $callback): truereadline_clear_historyReturn type changed:
booltotrue- readline_clear_history(): bool + readline_clear_history(): true
Core
array_multisortReturn type changed:
booltotrue- array_multisort(&$array, ...&$rest): bool + array_multisort(&$array, ...&$rest): true
ext-sysvshm
shm_detachReturn type changed:
booltotrue- shm_detach(SysvSharedMemory $shm): bool + shm_detach(SysvSharedMemory $shm): true
ext-zlib
gzopen- Parameter type changed for parameter #3 (
$use_include_path):inttobool - Parameter default value changed for position #3 (
$use_include_path):0tofalse
gzopen( string $filename, string $mode, - int $use_include_path = 0 + bool $use_include_path = false )readgzfile- Parameter type changed for parameter #2 (
$use_include_path):inttobool - Parameter default value changed for position #2 (
$use_include_path):0tofalse
- readgzfile(string $filename, int $use_include_path = 0): int|false + readgzfile(string $filename, bool $use_include_path = false): int|falsegzfile- Parameter type changed for parameter #2 (
$use_include_path):inttobool - Parameter default value changed for position #2 (
$use_include_path):0tofalse
- gzfile(string $filename, int $use_include_path = 0): array|false + gzfile(string $filename, bool $use_include_path = false): array|falseSubscribe to PHP.Watch newsletter for monthly updatesYou will receive an email on last Wednesday of every month and on major PHP releases with new articles related to PHP, upcoming changes, new features and what's changing in the language. No marketing emails, no selling of your contacts, no click-tracking, and one-click instant unsubscribe from any email you receive.
- Parameter type changed for parameter #3 (
- Optional parameter added - #5:
- Optional parameter added - #5:
- Optional parameter added - #4: