# Список изменений

В функции встроенных модулей внесли следующие изменения.

Version | Function | Description
--- | --- | ---
8.5.0 | array_key_exists | Использование null в параметре key устарело, вместо этого используйте пустую строку.
| array_multisort | Теперь тип возвращаемого значения — true; ранее был bool.
| chr | Передача целочисленных значений за пределами интервала [0, 255] устарела.
| cli_set_process_title | Функция cli_set_process_title теперь выдаёт ошибку уровня E_WARNING при установке слишком длинного заголовка процесса; раньше заголовок усекался.
| closedir | Использование null для параметра dir_handle теперь не рекомендуется. Вместо этого следует явно указать последний открытый дескриптор каталога.
| curl_close | Функция объявлена устаревшей.
| curl_share_close | Функция устарела.
| exif_imagetype | Добавлена поддержка HEIF.
| finfo_buffer | Параметр context объявлен устаревшим, поскольку игнорируется.
| finfo_close | Функция устарела.
| finfo_close | Тип значения возврата изменился на true; раньше объявление содержало тип bool.
| ftp_set_option | Тип значения возврата изменился на true; раньше объявление содержало тип bool.
| gc_collect_cycles | Возвращаемое значение больше не учитывает строки и ресурсы, которые были косвенно собраны через циклы.
| get_defined_functions | Параметр exclude_disabled устарел, поскольку больше не влияет на результат.
| grapheme_stripos | Добавили необязательный параметр locale.
| grapheme_stristr | Добавили необязательный параметр locale.
| grapheme_strpos | Добавили необязательный параметр locale.
| grapheme_strripos | Добавили необязательный параметр locale.
| grapheme_strrpos | Добавили необязательный параметр locale.
| grapheme_strstr | Добавили необязательный параметр locale.
| grapheme_substr | Добавили необязательный параметр locale.
| gzfile | Тип параметра use_include_path теперь – логическое значение (bool). Ранее он был целым числом (int).
| gzopen | Тип параметра use_include_path теперь – логическое значение (bool). Ранее он был целым числом (int).
| imagecopyresampled | Тип возврата изменился на true; раньше возвращался тип bool.
| imagedestroy | Функция устарела.
| ldap_get_option | Параметр ldap теперь допускает значение null.
| libxml_set_external_entity_loader | Теперь тип возвращаемого значения — true; ранее был bool.
| openssl_cms_encrypt | Тип параметра cipher_algo теперь является целым числом (int) или строкой (string). Ранее он был целым числом (int).
| openssl_pkey_derive | Параметр key_length устарел.
| openssl_private_decrypt | Добавили необязательный параметр digest_algo.
| openssl_public_encrypt | Добавили необязательный параметр digest_algo.
| openssl_sign | Добавили необязательный параметр padding.
| openssl_verify | Добавили необязательный параметр padding.
| ord | Передача строки размером больше одного байта устарела.
| pcntl_waitid | Добавили параметр resource_usage.
| pg_copy_from | Значение параметра rows теперь является итерируемым значением (iterable). Ранее оно было массивом (array).
| posix_fpathconf | Теперь устанавливает last_error в значение EBADF и выдаёт ошибку уровня E_WARNING, когда встречает недопустимый файловый дескриптор.
| posix_isatty | Теперь выдаёт ошибку уровня E_WARNING, когда параметр file_descriptor недопустимый.
| posix_kill | Теперь выбрасывает исключение ValueError, когда параметр process_id меньше или больше значения, которое поддерживает платформа (диапазон знакового integer или long).
| posix_setpgid | Теперь выбрасывает исключение ValueError, когда параметр process_id или process_group_id меньше нуля или больше значения, которое поддерживает платформа.
| posix_setrlimit | Теперь выбрасывает исключение ValueError, когда параметр hard_limit или soft_limit меньше -1, либо когда soft_limit больше hard_limit.
| posix_ttyname | Теперь устанавливает last_error в значение EBADF, когда параметр file_descriptor недопустимый.
| readdir | Использование null для параметра dir_handle теперь не рекомендуется. Вместо этого следует явно указать последний открытый дескриптор каталога.
| readgzfile | Тип параметра use_include_path теперь – логическое значение (bool). Ранее он был целым числом (int).
| readline_add_history | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| readline_callback_handler_install | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| readline_clear_history | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| rewinddir | Использование null для dir_handle теперь не рекомендуется. Вместо этого следует явно указать последний открытый дескриптор каталога.
| setlocale | Передача целого числа 0 в качестве аргумента locales больше не поддерживается и теперь выбрасывает ошибку TypeError.
| shm_detach | Теперь тип возвращаемого значения — true; ранее был bool.
| snmp2_get | Теперь функция выбрасывает исключение ValueError, когда длина имени хоста равна или превышает 128 байт, когда порт отрицательный или превышает 65535, либо когда значения timeout или retries меньше -1 или слишком большие.
| snmp2_set | Теперь функция выбрасывает исключение ValueError, когда длина имени хоста равна или превышает 128 байт, когда порт отрицательный или превышает 65535, либо когда значения timeout или retries меньше -1 или слишком большие.
| snmp3_get | Теперь функция выбрасывает исключение ValueError, когда длина имени хоста равна или превышает 128 байт, когда порт отрицательный или превышает 65535, либо когда значения timeout или retries меньше -1 или слишком большие.
| snmp3_set | Теперь функция выбрасывает исключение ValueError, когда длина имени хоста равна или превышает 128 байт, когда порт отрицательный или превышает 65535, либо когда значения timeout или retries меньше -1 или слишком большие.
| snmpget | Теперь функция выбрасывает исключение ValueError, когда длина имени хоста равна или превышает 128 байт, когда порт отрицательный или превышает 65535, либо когда значения timeout или retries меньше -1 или слишком большие.
| snmpset | Теперь функция выбрасывает исключение ValueError, когда длина имени хоста равна или превышает 128 байт, когда порт отрицательный или превышает 65535, либо когда значения timeout или retries меньше -1 или слишком большие.
| socket_addrinfo_lookup | Теперь выбрасывает исключение TypeError, если какое-либо значение массива hints нельзя привести к целому числу, и может выбросить исключение ValueError, если какое-либо из этих значений переполняется.
| socket_bind | Теперь выбрасывает исключение ValueError, когда параметр port меньше 0 или больше 65535.
| socket_create | Теперь поддерживает создание сокетов семейства AF_PACKET.
| socket_create_listen | Теперь выбрасывает исключение ValueError, когда параметр port меньше 0 или больше 65535.
| socket_getsockname | Теперь получает индекс интерфейса и его строковое представление при использовании на сокете семейства AF_PACKET.
| socket_sendto | Теперь выбрасывает исключение ValueError, когда параметр port меньше 0 или больше 65535.
| socket_set_option | Теперь выбрасывает исключение, когда используется MCAST_LEAVE_GROUP или MCAST_LEAVE_SOURCE_GROUP, а значение не является допустимым объектом или массивом, и выбрасывает исключение ValueError, когда параметр многоадресной рассылки используется на сокете, который не относится к семейству AF_INET или AF_INET6.
| spl_autoload_unregister | Передача функции spl_autoload_call в качестве аргумента callback-функции для отмены регистрации всех автозагрузчиков объявлена устаревшей. Вместо этого следует пройти по значениям, которые возвращает функция spl_autoload_functions, и вызвать функцию spl_autoload_unregister для каждого значения.
| xml_parser_free | Функция устарела.
| Locale::isRightToLeft | Добавили метод Locale::isRightToLeft.
| ReflectionClass::getConstant | Вызов метода ReflectionClass::getConstant для несуществующих констант объявлен устаревшим.
| ReflectionMethod::setAccessible | Метод объявлен устаревшим, поскольку больше ни на что не влияет.
| ReflectionProperty::getDefaultValue | Вызов метода ReflectionProperty::getDefaultValue для свойств без значений по умолчанию объявлен устаревшим.
| ReflectionProperty::setAccessible | Метод объявлен устаревшим, поскольку больше ни на что не влияет.
| SoapClient::__doRequest | Добавили необязательный параметр uriParserClass.
| SoapFault::__construct | В метод добавили необязательный параметр lang, чтобы объект ошибки соответствовал спецификации протокола SOAP 1.2.
| SoapServer::fault | В метод добавили необязательный параметр lang, чтобы объект ошибки соответствовал спецификации протокола SOAP 1.2.
| SplFileObject::fwrite | Значение параметра length теперь допускает значение null.
| SplObjectStorage::attach | Метод объявлен устаревшим в пользу SplObjectStorage::offsetSet.
| SplObjectStorage::contains | Метод объявлен устаревшим в пользу SplObjectStorage::offsetExists.
| SplObjectStorage::detach | Метод устарел; объекты из контейнера удаляют методом SplObjectStorage::offsetUnset.
8.4.0 | DateInterval::createFromDateString | Вместо объединения типов DateIntervalfalse метод теперь возвращает тип DateInterval.
| DatePeriod::__construct | Сигнатура с параметром isostr устарела; период на основе интервалов повторения в формате стандарта ISO 8601 создают методом DatePeriod::createFromISO8601String.
| DateTime::modify | Теперь предварительный тип возвращаемого значения — DateTime; ранее был DateTimefalse.
| DateTimeImmutable::modify | Теперь предварительный тип возвращаемого значения — DateTimeImmutable; ранее был DateTimeImmutablefalse.
| DOMDocument::registerNodeClass | Метод DOMDocument::registerNodeClass теперь предварительно возвращает значение true.
| DOMImplementation::createDocument | Теперь у функции предварительный возвращаемый тип DOMDocument.
| DOMXPath::registerPhpFunctions | Параметр restrict теперь принимает callable-выражения, когда набор callback-функций, доступных для вызова из XPath-выражений, ограничивают путём передачи массива (array).
|  | При передаче недопустимых названий callback-функций метод теперь выбрасывает ошибку ValueError. При передаче значений, которые не принадлежат типу callable, метод теперь выбрасывает ошибку TypeError.
| bcpow | Раньше при возведении нуля в отрицательную степень возвращалось значение 0, теперь выбрасывают исключение DivisionByZeroError.
| bind_textdomain_codeset | Функция теперь выбрасывает ошибку ValueError, если значение параметра domain является пустой строкой (string).
| bind_textdomain_codeset | Параметр codeset стал необязательным. Раньше параметр требовалось указывать при каждом вызове.
| bindtextdomain | Параметр directory стал необязательным. Раньше параметр требовалось указывать при каждом вызове.
| curl_getinfo | Добавили константу CURLINFO_POSTTRANSFER_TIME_T и элемент posttransfer_time_us, который доступен с Curl 8.10.0 или более новой версии библиотеки.
| curl_multi_select | Функция теперь выбрасывает ошибку ValueError, если значение параметра timeout меньше 0 или больше PHP_INT_MAX.
| curl_setopt | Опция CURLOPT_DNS_USE_GLOBAL_CACHE больше ни на что не влияет, а включение опции в потокобезопасных PHP-сборках больше не вызывает предупреждения.
| curl_version | Добавили элемент features_list.
| dba_close | Параметр dba теперь принимает объект Dba\Connection; раньше параметр ждал ресурс (resource) dba .
| dba_delete | Параметр dba теперь принимает объект Dba\Connection; раньше параметр ждал ресурс (resource) dba .
| dba_exists | Параметр dba теперь принимает объект Dba\Connection; раньше параметр ждал ресурс (resource) dba .
| dba_fetch | Параметр dba теперь принимает объект Dba\Connection; раньше параметр ждал ресурс (resource) dba .
| dba_firstkey | Параметр dba теперь принимает объект Dba\Connection; раньше параметр ждал ресурс (resource) dba .
| dba_insert | Параметр dba теперь принимает объект Dba\Connection; раньше параметр ждал ресурс (resource) dba .
| dba_key_split | Передача значений null или false в параметр key устарела.
| dba_nextkey | Параметр dba теперь принимает объект Dba\Connection; раньше параметр ждал ресурс (resource) dba .
| dba_open | Функция теперь возвращает экземпляр класса Dba\Connection; ранее возвращался ресурс (resource).
| dba_optimize | Параметр dba теперь принимает объект Dba\Connection; раньше параметр ждал ресурс (resource) dba .
| dba_popen | Функция теперь возвращает экземпляр класса Dba\Connection; ранее возвращался ресурс (resource).
| dba_replace | Параметр dba теперь принимает объект Dba\Connection; раньше параметр ждал ресурс (resource) dba .
| dba_sync | Параметр dba теперь принимает объект Dba\Connection; раньше параметр ждал ресурс (resource) dba .
| debug_zval_dump | Функция debug_zval_dump теперь указывает, является ли массив упакованным.
| dgettext | Функция теперь выбрасывает ошибку ValueError, если значение параметра domain является пустой строкой (string).
| dngettext | Функция теперь выбрасывает ошибку ValueError, если значение параметра domain является пустой строкой (string).
| exit | Языковая конструкция exit стала полноценной функцией, поэтому функция следует семантике жонглирования типами, на неё влияет декларация strict_types, функцию разрешили вызывать с именованными аргументами и быть функцией переменной.
| exit | Вызов функции exit без параметра внутри функции завершения работы или деструктора объекта теперь сбрасывает код выхода в значение 0; раньше код выхода, который установил предыдущий вызов функции exit, сохранялся.
| fgetcsv | Вызов функции без явной передачи значения в параметр escape устарел.
| flush | При работе PHP в режиме FastCGI заголовки без тела теперь успешно сбросятся.
| fputcsv | Вызов функции без явной передачи значения в параметр escape устарел.
| hash_init | Передача параметров неверного типа устарела.
| hash_update | Функция теперь возвращает значение true вместо логического значения (bool).
| highlight_string | Тип значения возврата изменили со stringbool на stringtrue.
| http_build_query | До версии PHP 8.4.0, свойства BackedEnum data преобразовывались в объекты, а не в их скалярные эквиваленты.
| idn_to_ascii | Теперь выбрасывает исключение ValueError, если параметр domain пустой.
| idn_to_ascii | Теперь выбрасывает исключение ValueError, если параметр variant не равен INTL_IDNA_VARIANT_UTS46.
| idn_to_utf8 | Теперь выбрасывает исключение ValueError, если параметр domain пустой.
| idn_to_utf8 | Теперь выбрасывает исключение ValueError, если параметр variant не равен INTL_IDNA_VARIANT_UTS46.
| imageavif | Функция теперь выбрасывает ошибку ValueError при недопустимом значении в параметре quality или speed.
| imagefilter | Функция теперь выбрасывает ошибку ValueError, если значение параметра sub или plus приведёт к переполнению или недополнению со значением IMG_FILTER_SCATTER для параметра filter.
| imagejpeg | Функция теперь выбрасывает ошибку ValueError, если значение параметра quality недопустимо.
| imagepng | Функция теперь выбрасывает ошибку ValueError, если значение параметра quality недопустимо.
| imagescale | Функция теперь выбрасывает ошибку ValueError, если значение параметра width или height приведёт к переполнению или недополнению.
| imagescale | Функция теперь выбрасывает ошибку ValueError, если значение параметра mode некорректно.
| imagewebp | Функция теперь выбрасывает ошибку ValueError, если значение параметра quality недопустимо.
| lcg_value | Функция устарела.
| ldap_connect | Теперь вызов функции ldap_connect с более чем двумя аргументами устарел.
| ldap_exop | Использование более 4 параметров объявлено устаревшим, используйте вместо этого ldap_exop_sync.
| libxml_set_streams_context | Функция libxml_set_streams_context теперь выбрасывает ошибку TypeError при передаче в параметр context непотокового ресурса, вместо того, чтобы выбрасывать ошибку позже, когда контекст используется.
| long2ip | Тип возврата изменился со stringfalse на string.
| mb_decode_numericentity | Функция mb_decode_numericentity теперь выбрасывает ошибку ValueError, если список map содержит значения кроме int.
| mb_encode_numericentity | Функция mb_encode_numericentity теперь выбрасывает ошибку ValueError, если список map содержит значения кроме int.
| mb_http_input | Функция mb_http_input теперь выбрасывает ошибку ValueError, если значение параметра type некорректно.
| mb_http_output | Функция mb_http_output теперь выбрасывает ошибку ValueError, если значение параметра encoding содержит нулевые байты.
| mb_strcut | Поведение для некорректных строк UTF-8 и UTF-16 стало более согласованным.
| mb_substr | Для некорректных строк (содержащих ошибки кодировки) индексы символов теперь интерпретируются так же, как и в большинстве других функций mbstring. Это означает, что индексы символов, которые возвращает функция mb_strpos, можно передавать напрямую.
| odbc_autocommit | Параметр odbc теперь принимает объект соединения Odbc\Connection; раньше принимался тип resource.
| odbc_binmode | Параметр statement теперь принимает экземпляр с результом OBDC-запроса Odbc\Result; раньше принимался тип resource.
| odbc_close | Параметр odbc теперь принимает объект соединения Odbc\Connection; раньше принимался тип resource.
| odbc_columnprivileges | Параметр odbc теперь принимает объект соединения Odbc\Connection; раньше принимался тип resource.
| odbc_columns | Параметр odbc теперь принимает объект соединения Odbc\Connection; раньше принимался тип resource.
| odbc_commit | Параметр odbc теперь принимает объект соединения Odbc\Connection; раньше принимался тип resource.
| odbc_connect | Функция теперь возвращает экземпляр соединения Odbc\Connection; раньше возвращалось значение с типом resource.
| odbc_connect | Параметры user и password теперь допускают значение null; они теперь являются необязательными и по умолчанию имеют значение null.
| odbc_connect | Ранее использование пустой строки для параметра password не включало pwd в генерируемую строку подключения параметра dsn. Теперь он генерируется для включения pwd, который имеет пустую строку в качестве своего значения. Чтобы восстановить прежнее поведение, в параметр password теперь можно передать значение null.
| odbc_connect | Ранее, если dsn содержал uid или pwd, параметры user и password игнорировались. Теперь параметр user игнорируется, только если значение параметра dsn содержит uid, а параметр password игнорируется, только если значение параметра dsn содержит pwd.
| odbc_cursor | Параметр statement теперь принимает экземпляр с результом OBDC-запроса Odbc\Result; раньше принимался тип resource.
| odbc_data_source | Параметр odbc теперь принимает объект соединения Odbc\Connection; раньше принимался тип resource.
| odbc_error | Параметр odbc теперь принимает объект соединения Odbc\Connection; раньше принимался тип resource.
| odbc_errormsg | Параметр odbc теперь принимает объект соединения Odbc\Connection; раньше принимался тип resource.
| odbc_exec | Параметр odbc теперь принимает объект соединения Odbc\Connection; раньше принимался тип resource.
| odbc_exec | Функция теперь возвращает объект с результатом ODBC-запроса Odbc\Result; раньше возвращалось значение с типом resource.
| odbc_execute | Функция теперь возвращает объект с результатом ODBC-запроса Odbc\Result; раньше возвращалось значение с типом resource.
| odbc_fetch_array | Параметр statement теперь принимает экземпляр с результом OBDC-запроса Odbc\Result; раньше принимался тип resource.
| odbc_fetch_array | Параметр row теперь принимает значение null.
| odbc_fetch_into | Параметр statement теперь принимает экземпляр с результом OBDC-запроса Odbc\Result; раньше принимался тип resource.
| odbc_fetch_into | Параметр row теперь принимает значение null.
| odbc_fetch_object | Параметр statement теперь принимает экземпляр с результом OBDC-запроса Odbc\Result; раньше принимался тип resource.
| odbc_fetch_object | Параметр row теперь принимает значение null.
| odbc_fetch_row | Параметр statement теперь принимает экземпляр с результом OBDC-запроса Odbc\Result; раньше принимался тип resource.
| odbc_fetch_row | Теперь выбрасывается ошибка уровня E_WARNING, если значение параметра row меньше либо равно нулю.
| odbc_field_len | Параметр statement теперь принимает экземпляр с результом OBDC-запроса Odbc\Result; раньше принимался тип resource.
| odbc_field_name | Параметр statement теперь принимает экземпляр с результом OBDC-запроса Odbc\Result; раньше принимался тип resource.
| odbc_field_num | Параметр statement теперь принимает экземпляр с результом OBDC-запроса Odbc\Result; раньше принимался тип resource.
| odbc_field_scale | Параметр statement теперь принимает экземпляр с результом OBDC-запроса Odbc\Result; раньше принимался тип resource.
| odbc_field_type | Параметр statement теперь принимает экземпляр с результом OBDC-запроса Odbc\Result; раньше принимался тип resource.
| odbc_foreignkeys | Параметр odbc теперь принимает объект соединения Odbc\Connection; раньше принимался тип resource.
| odbc_foreignkeys | Функция теперь возвращает объект с результатом ODBC-запроса Odbc\Result; раньше возвращалось значение с типом resource.
| odbc_free_result | Параметр statement теперь принимает экземпляр с результом OBDC-запроса Odbc\Result; раньше принимался тип resource.
| odbc_gettypeinfo | Параметр odbc теперь принимает объект соединения Odbc\Connection; раньше принимался тип resource.
| odbc_gettypeinfo | Функция теперь возвращает объект с результатом ODBC-запроса Odbc\Result; раньше возвращалось значение с типом resource.
| odbc_longreadlen | Параметр statement теперь принимает экземпляр с результом OBDC-запроса Odbc\Result; раньше принимался тип resource.
| odbc_next_result | Параметр statement теперь принимает экземпляр с результом OBDC-запроса Odbc\Result; раньше принимался тип resource.
| odbc_num_fields | Параметр statement теперь принимает экземпляр с результом OBDC-запроса Odbc\Result; раньше принимался тип resource.
| odbc_num_rows | Параметр statement теперь принимает экземпляр с результом OBDC-запроса Odbc\Result; раньше принимался тип resource.
| odbc_pconnect | Функция теперь возвращает экземпляр соединения Odbc\Connection; раньше возвращалось значение с типом resource.
| odbc_pconnect | Параметры user и password теперь допускают значение null; они теперь являются необязательными и по умолчанию имеют значение null.
| odbc_pconnect | Ранее использование пустой строки для параметра password не включало pwd в генерируемую строку подключения параметра dsn. Теперь он генерируется для включения pwd, который имеет пустую строку в качестве своего значения. Чтобы восстановить прежнее поведение, в параметр password теперь можно передать значение null.
| odbc_pconnect | Ранее, если dsn содержал uid или pwd, параметры user и password игнорировались. Теперь параметр user игнорируется, только если значение параметра dsn содержит uid, а параметр password игнорируется, только если значение параметра dsn содержит pwd.
| odbc_prepare | Параметр odbc теперь принимает объект соединения Odbc\Connection; раньше принимался тип resource.
| odbc_prepare | Функция теперь возвращает объект с результатом ODBC-запроса Odbc\Result; раньше возвращалось значение с типом resource.
| odbc_primarykeys | Параметр odbc теперь принимает объект соединения Odbc\Connection; раньше принимался тип resource.
| odbc_primarykeys | Функция теперь возвращает объект с результатом ODBC-запроса Odbc\Result; раньше возвращалось значение с типом resource.
| odbc_procedurecolumns | Параметр odbc теперь принимает объект соединения Odbc\Connection; раньше принимался тип resource.
| odbc_procedurecolumns | Функция теперь возвращает объект с результатом ODBC-запроса Odbc\Result; раньше возвращалось значение с типом resource.
| odbc_procedures | Параметр odbc теперь принимает объект соединения Odbc\Connection; раньше принимался тип resource.
| odbc_procedures | Функция теперь возвращает объект с результатом ODBC-запроса Odbc\Result; раньше возвращалось значение с типом resource.
| odbc_result | Параметр statement теперь принимает экземпляр с результом OBDC-запроса Odbc\Result; раньше принимался тип resource.
| odbc_result_all | Параметр statement теперь принимает экземпляр с результом OBDC-запроса Odbc\Result; раньше принимался тип resource.
| odbc_rollback | Параметр odbc теперь принимает объект соединения Odbc\Connection; раньше принимался тип resource.
| odbc_setoption | Параметр odbc теперь ожидает экземпляр класса Odbc\Connection или Odbc\Result; раньше ожидалось значение с типом resource.
| odbc_specialcolumns | Параметр odbc теперь принимает объект соединения Odbc\Connection; раньше принимался тип resource.
| odbc_specialcolumns | Функция теперь возвращает объект с результатом ODBC-запроса Odbc\Result; раньше возвращалось значение с типом resource.
| odbc_statistics | Параметр odbc теперь принимает объект соединения Odbc\Connection; раньше принимался тип resource.
| odbc_statistics | Функция теперь возвращает объект с результатом ODBC-запроса Odbc\Result; раньше возвращалось значение с типом resource.
| odbc_tableprivileges | Параметр odbc теперь принимает объект соединения Odbc\Connection; раньше принимался тип resource.
| odbc_tableprivileges | Функция теперь возвращает объект с результатом ODBC-запроса Odbc\Result; раньше возвращалось значение с типом resource.
| odbc_tables | Параметр odbc теперь принимает объект соединения Odbc\Connection; раньше принимался тип resource.
| odbc_tables | Функция теперь возвращает объект с результатом ODBC-запроса Odbc\Result; раньше возвращалось значение с типом resource.
| openssl_csr_new | Ассоциативный массив distinguished_names теперь поддерживает массивы в качестве значений, что позволяет указывать несколько значений для одного атрибута.
| openssl_csr_new | Параметр extra_attributes теперь правильно устанавливает атрибуты CSR, а не изменяет уникальное имя субъекта, как это было ранее.
| openssl_csr_sign | Добавлен параметр serial_hex.
| openssl_password_hash | Функция добавлена.
| openssl_password_verify | Функция добавлена.
| openssl_pkey_get_details | Добавлена поддержка ключей на основе Curve25519 и Curve448. В частности, были добавлены поля x25519, ed25519,x448 и ed448.
| openssl_pkey_new | Добавлена поддержка ключей на основе Curve25519 и Curve448 с добавлением полей x25519, ed25519, x448 и ed448.
| openssl_x509_parse | Разбор сертификата без секунд в UTCTime больше не допускается ни для одной версии OpenSSL. Это уже было запрещено в OpenSSL 3.3+.
| password_hash | Значение по умолчанию для опции cost алгоритма PASSWORD_BCRYPT увеличили с 10 до 12.
| pcntl_sigprocmask | Если значение параметра signal не задано, выбрасывается ошибка ValueError.
| pcntl_sigprocmask | Если значение параметра signal не целое число (int), выбрасывается ошибка ValueError.
| pcntl_sigprocmask | Если значение параметра signal некорректно, выбрасывается ошибка ValueError.
| pcntl_sigprocmask | Если значение параметра mode не SIG_BLOCK, SIG_UNBLOCK или SIG_SETMASK, выбрасывается ошибка ValueError.
| pcntl_sigtimedwait | Если значение параметра signal не задано, выбрасывается ошибка ValueError.
| pcntl_sigtimedwait | Если значение параметра signal не целое число (int), выбрасывается ошибка ValueError.
| pcntl_sigtimedwait | Если значение параметра signal некорректно, выбрасывается ошибка ValueError.
| pcntl_sigtimedwait | Если значение параметра seconds меньше 0, выбрасывается ошибка ValueError.
| pcntl_sigtimedwait | Если значение параметра nanoseconds меньше 0, выбрасывается ошибка ValueError.
| pcntl_sigtimedwait | Если значение параметра seconds и nanoseconds меньше 0, выбрасывается ошибка ValueError.
| pcntl_sigwaitinfo | Если значение параметра signal не задано, выбрасывается ошибка ValueError.
| pcntl_sigwaitinfo | Если значение параметра signal не целое число (int), выбрасывается ошибка ValueError.
| pcntl_sigwaitinfo | Если значение параметра signal некорректно, выбрасывается ошибка ValueError.
| pg_select | Параметр conditions стал необязательным.
| php_uname | Функция выбрасывает ошибку ValueError, если указали недопустимый режим mode.
| posix_isatty | Устанавливается errno (номер ошибки) EBADF, если переданный файловый дескриптор/поток недействителен.
| pow | Передача в аргументе exponent отрицательного значения для возведения 0 в отрицательную степень устарела.
| print_r | Тип возврата изменили со stringbool на stringtrue.
| round | Добавили четыре новые режима округления.
| round | Функция теперь выбрасывает ошибку ValueError, если в параметр mode передали недопустимый режим округления.
| session_set_save_handler | Теперь вызов функции session_set_save_handler с более чем двумя аргументами устарел. Вместо этого используйте сигнатуру с двумя аргументами.
| simplexml_import_dom | Добавлена поддержка Dom\Document.
| simplexml_import_dom | Функция теперь выбрасывает ошибку TypeError вместо ValueError, если переданный узел node не XML и не HTML.
| socket_create_listen | Значение по умолчанию параметра backlog теперь равно значению константы SOMAXCONN. Раньше значение равнялось 128.
| str_getcsv | Вызов функции без явной передачи значения в параметр escape устарел.
| str_getcsv | Функция теперь подражает поведению функций fgetcsv и fputcsv и выбрасывает ошибку ValueError, если в параметры separator, enclosure или escape передали недопустимое значение.
| strcspn | До PHP 8.4.0 при передаче в параметр characters пустой строки поиск ошибочно останавливался на первом NUL-байте в аргументе string.
| stream_bucket_append | Параметр bucket теперь принимает объект StreamBucket; раньше принимался объект stdClass.
| stream_bucket_make_writeable | Функция теперь возвращает объект класса StreamBucket; раньше возвращался объект stdClass.
| stream_bucket_new | Функция теперь возвращает объект класса StreamBucket; раньше возвращался объект stdClass.
| stream_bucket_prepend | Параметр bucket теперь принимает объект StreamBucket; раньше принимался объект stdClass.
| stream_context_set_option | Альтернативная сигнатура с двумя параметрами устарела. Вместо устаревшей сигнатуры лучше пользоваться функцией stream_context_set_options.
| tempnam | Имена файлов, которые создаёт функция tempnam, теперь длиннее на 13 байтов. Общая длина по-прежнему зависит от платформы.
| textdomain | Параметр domain стал необязательным. Раньше параметр требовалось указывать при каждом вызове.
| textdomain | Функция теперь выбрасывает ошибку ValueError, если в аргументе domain передали пустую строку (string).
| trigger_error | Передача константы E_USER_ERROR как значения уровня ошибки в параметр error_level устарела. Вместо этого рекомендуют выбрасывать исключение Exception или вызывать функцию exit.
| trigger_error | Вместо типа bool функции теперь возвращает тип true.
| unserialize | Теперь выбрасывает исключения TypeError и ValueError, если элемент allowed_classes параметра options не является массивом имён классов.
| unserialize | Десериализация строк с использованием тега в верхнем регистре "S" теперь объявлена устаревшей; вместо него применяют тег в нижнем регистре "s".
| xml_parser_set_option | Добавлена настройка XML_OPTION_PARSE_HUGE.
| xml_set_character_data_handler | Передача в параметр handler строки (string), которую невозможно вызывать как callable-выражение, устарела; теперь рекомендуют передавать в параметр правильное callable-выражение для установки метода или null для сброса обработчика.
| xml_set_character_data_handler | Корректность обработчика handler как callable-выражения теперь проверяется при установке обработчика, а не при вызове.
| xml_set_default_handler | Передача в параметр handler строки (string), которую невозможно вызывать как callable-выражение, устарела; теперь рекомендуют передавать в параметр правильное callable-выражение для установки метода или null для сброса обработчика.
| xml_set_default_handler | Корректность обработчика handler как callable-выражения теперь проверяется при установке обработчика, а не при вызове.
| xml_set_element_handler | Передача в параметр handler строки (string), которую невозможно вызывать как callable-выражение, устарела; теперь рекомендуют передавать в параметр правильное callable-выражение для установки метода или null для сброса обработчика.
| xml_set_element_handler | Корректность обработчика handler как callable-выражения теперь проверяется при установке обработчика, а не при вызове.
| xml_set_end_namespace_decl_handler | Передача в параметр handler строки (string), которую невозможно вызывать как callable-выражение, устарела; теперь рекомендуют передавать в параметр правильное callable-выражение для установки метода или null для сброса обработчика.
| xml_set_end_namespace_decl_handler | Корректность обработчика handler как callable-выражения теперь проверяется при установке обработчика, а не при вызове.
| xml_set_external_entity_ref_handler | Передача в параметр handler строки (string), которую невозможно вызывать как callable-выражение, устарела; теперь рекомендуют передавать в параметр правильное callable-выражение для установки метода или null для сброса обработчика.
| xml_set_external_entity_ref_handler | Корректность обработчика handler как callable-выражения теперь проверяется при установке обработчика, а не при вызове.
| xml_set_notation_decl_handler | Передача в параметр handler строки (string), которую невозможно вызывать как callable-выражение, устарела; теперь рекомендуют передавать в параметр правильное callable-выражение для установки метода или null для сброса обработчика.
| xml_set_notation_decl_handler | Корректность обработчика handler как callable-выражения теперь проверяется при установке обработчика, а не при вызове.
| xml_set_object | Функция устарела, вместо неё передают правильные значения с типом callable в функции xml_set_.
| xml_set_processing_instruction_handler | Передача в параметр handler строки (string), которую невозможно вызывать как callable-выражение, устарела; теперь рекомендуют передавать в параметр правильное callable-выражение для установки метода или null для сброса обработчика.
| xml_set_processing_instruction_handler | Корректность обработчика handler как callable-выражения теперь проверяется при установке обработчика, а не при вызове.
| xml_set_start_namespace_decl_handler | Передача в параметр handler строки (string), которую невозможно вызывать как callable-выражение, устарела; теперь рекомендуют передавать в параметр правильное callable-выражение для установки метода или null для сброса обработчика.
| xml_set_start_namespace_decl_handler | Корректность обработчика handler как callable-выражения теперь проверяется при установке обработчика, а не при вызове.
| xml_set_unparsed_entity_decl_handler | Передача в параметр handler строки (string), которую невозможно вызывать как callable-выражение, устарела; теперь рекомендуют передавать в параметр правильное callable-выражение для установки метода или null для сброса обработчика.
| xml_set_unparsed_entity_decl_handler | Корректность обработчика handler как callable-выражения теперь проверяется при установке обработчика, а не при вызове.
| IntlCalendar::set | Метод устарел в пользу методов IntlCalendar::setDate и IntlCalendar::setDateTime.
| IntlDateFormatter::create | Теперь если значение параметра locale некорректно, выбрасывается ошибка ValueError.
| IntlGregorianCalendar::__construct | Метод объявлен устаревшим, следует использовать методы IntlGregorianCalendar::createFromDate и IntlGregorianCalendar::createFromDateTime.
| mysqli::kill | Метод mysqli::kill и функция mysqli_kill устарели. Вместо них рекомендуют выполнять SQL-команду KILL.
| mysqli::ping | Метод mysqli::ping и функция mysqli_ping устарели. Функция reconnect была недоступна с PHP 8.2.0, что делает эту функцию устаревшей.
| mysqli::refresh | Метод mysqli::refresh и функция mysqli_refresh устарели. Вместо них рекомендуют выполнять SQL-команду FLUSH.
| mysqli::store_result | Передача параметра параметра mode устарела. Начиная с PHP 8.1.0 параметр не имеет значения.
| NumberFormatter::create | Теперь выбрасывается ошибка ValueError, если значение параметра locale недопустимо.
| PDOStatement::setFetchMode | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| Phar::setAlias | Метод Phar::setAlias теперь возвращает предварительное значение true.
| Phar::setDefaultStub | Метод Phar::setDefaultStub теперь возвращает предварительное значение true.
| Phar::setStub | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| PharData::setStub | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| DSN-строка подключения через драйвер PDO_ODBC | При передаче пустой строки (string) в качестве аргумента password в конструкторе PDO, pwd не передавался в создаваемую строку подключения, такое поведение было изменено и теперь значение передается в качестве пустой строки. Передача null в качестве аргумента password в конструкторе PDO приводит к тому же поведению, что и раньше.
| DSN-строка подключения через драйвер PDO_ODBC | Изменено поведение, чтобы игнорировать аргумент имени пользователя и аргумент пароля в конструкторе PDO отдельно, когда DSN содержит uid или pwd. Ранее, если в DSN был передан только uid или pwd, аргумент имени пользователя и аргумент пароля в конструкторе PDO игнорировались.
| ReflectionClassConstant::__toString | Прилагаемый комментарий в формате doc теперь включен.
| ReflectionGenerator::getFunction | Метод ReflectionGenerator::getFunction теперь может быть вызван после завершения работы генератора.
| ReflectionProperty::__toString | Метод теперь включает в значение возврата комментарий в стиле doc-блока, который оставили перед свойством.
| ResourceBundle::get | При недопустимом типе смещеиня метод выбросит ошибку TypeError. Метод выбросит ошибку ValueError, если в аргументе index передали значение с типом string и строка оказалсь пустой, или передали значение с типом int, которое не вписывается в 32-битный целочисленный тип.
| SoapServer::addFunction | Передача целого числа (int) в метод SoapServer::addFunction, включая константу SOAP_FUNCTIONS_ALL, больше не поддерживается.
| SplFileObject::fgetcsv | Вызов функции без явной передачи значения в параметр escape устарел.
| SplFileObject::fputcsv | Вызов функции без явной передачи значения в параметр escape устарел.
| SplFileObject::setCsvControl | Вызов функции без явной передачи значения в параметр escape устарел.
| SplFixedArray::setSize | Метод SplFixedArray::setSize теперь возвращает предварительное значение true.
| SplFixedArray::__wakeup | Метод устарел, вместо него рекомендуют пользоваться методом SplFixedArray::__unserialize.
| SplHeap::insert | Метод SplHeap::insert теперь возвращает предварительное значение true.
| SplHeap::recoverFromCorruption | Метод SplHeap::recoverFromCorruption теперь возвращает предварительное значение true.
| SplPriorityQueue::insert | Метод SplPriorityQueue::insert теперь возвращает предварительное значение true.
| SplPriorityQueue::recoverFromCorruption | Метод SplPriorityQueue::recoverFromCorruption теперь возвращает предварительное значение true.
| tidy::__construct | Теперь выбрасывается исключение в случае возникновения ошибки конструктора вместо того, чтобы молча создавать непригодный объект.
| XMLReader::open | При передаче недопустимой кодировки в аргументе encoding метод выбросит ошибку ValueError.
| XMLReader::XML | При передаче недопустимой кодировки в аргументе encoding метод выбросит ошибку ValueError.
| XMLWriter::startDocument | При передаче в аргументе encoding кодировки, которая содержит нулевой байт, метод выбросит ошибку ValueError.
| XSLTProcessor::importStylesheet | Добавили поддержку класса Dom\Document.
| XSLTProcessor::importStylesheet | Метод теперь выбрасывает ошибку TypeError вместо ошибки ValueError, если таблица стилей stylesheet не XML-объект.
| XSLTProcessor::registerPHPFunctions | При передаче недопустимых названий callback-функций метод теперь выбрасывает ошибку ValueError. При передаче значений, которые не принадлежат типу callable, метод теперь выбрасывает ошибку TypeError.
| XSLTProcessor::registerPHPFunctions | Параметр functions теперь принимает callable-выражения, когда набор callback-функций, доступных для вызова из XSLT-структур, ограничивают путём передачи массива (array).
| XSLTProcessor::setParameter | Метод теперь вместо усечения без предупреждения выбрасывает ошибку ValueError, если хотя бы один аргумент содержит нулевые байты.
| XSLTProcessor::setParameter | Теперь возможна установка значения параметра, которое содержит как одинарные, так и двойные кавычки. До PHP 8.4.0 это выдавало предупреждение.
| XSLTProcessor::transformToDoc | Вместо предупреждения метод теперь выбрасывает ошибку Error, если callback-функцию невозможно вызвать.
| XSLTProcessor::transformToDoc | Добавили поддержку объектов класса Dom\Document.
| XSLTProcessor::transformToUri | Вместо предупреждения метод теперь выбрасывает ошибку Error, если callback-функцию невозможно вызвать.
| XSLTProcessor::transformToUri | Добавили поддержку объектов класса Dom\Document.
| XSLTProcessor::transformToXml | Вместо предупреждения метод теперь выбрасывает ошибку Error, если callback-функцию невозможно вызвать.
| XSLTProcessor::transformToXml | Добавили поддержку объектов класса Dom\Document.
8.3.0 | DateInterval::__construct | Теперь вместо исключения Exception выбрасывается исключение DateMalformedIntervalStringException.
| DateInterval::createFromDateString | Метод DateInterval::createFromDateString теперь выбрасывает исключение DateMalformedIntervalStringException, если передали строку в недопустимом формате. Раньше метод возвращал значение false и выдавал предупреждение. Функция date_interval_create_from_date_string не изменилась.
| DatePeriod::__construct | Вместо исключения Exception теперь выбрасывается исключение DateMalformedPeriodStringException.
| DateTime::__construct | Теперь вместо исключения Exception выбрасывается исключение DateMalformedStringException, если передана недопустимая строка.
| DateTimeInterface::getTimestamp | При выходе за пределы диапазона метод теперь выбрасывает ошибку DateRangeError.
| DateTime::modify | Метод DateTime::modify теперь выбрасывает исключение DateMalformedStringException, если передали строку в недопустимом формате. Раньше метод возвращал значение false и выдавал предупреждение. Функция date_modify не изменилась.
| DateTime::sub | При попытке выполнить неподдерживаемую операцию метод DateTime::sub теперь вместо предупреждения выбрасывает исключение DateInvalidOperationException. Функция date_sub не изменилась.
| DateTimeImmutable::__construct | При передаче строки с недопустимой датой и временем функция теперь выбрасывает исключение DateMalformedStringException вместо исключения Exception.
| DateTimeImmutable::modify | При передаче строки в недопустимом формате вместо предупреждения метод теперь выбрасывает исключение DateMalformedStringException.
| DateTimeImmutable::sub | При попытке выполнить неподдерживаемую операцию вместо предупреждения метод теперь выбрасывает исключение DateInvalidOperationException.
| DateTimeZone::__construct | При передаче недопустимых значений часового пояса вместо общего исключения Exception метод теперь выбрасывает исключение DateInvalidTimeZoneException.
| DOMCharacterData::after | Вызов этого метода на узле, у которого нет родительского узла, теперь ничего не делает, чтобы привести поведение в соответствие со спецификацией DOM. Раньше метод выбрасывал исключение DOMException с кодом DOM_HIERARCHY_REQUEST_ERR.
| DOMCharacterData::after | Вызов этого метода на узле без документа владельца теперь работает. Раньше метод выбрасывал исключение DOMException с кодом DOM_HIERARCHY_REQUEST_ERR.
| DOMCharacterData::appendData | Теперь у этой функции есть предварительный логический (true) тип возвращаемого значения.
| DOMCharacterData::before | Вызов этого метода на узле, у которого нет родительского узла, теперь ничего не делает, чтобы привести поведение в соответствие со спецификацией DOM. Раньше метод выбрасывал исключение DOMException с кодом DOM_HIERARCHY_REQUEST_ERR.
| DOMCharacterData::replaceWith | Вызов метода на узле без родителя теперь запрещён, чтобы привести поведение в соответствие со спецификацией DOM. Раньше метод выбрасывал исключение DOMException с кодом DOM_HIERARCHY_REQUEST_ERR.
| DOMChildNode::after | Вызов этого метода на узле, у которого нет родительского узла, теперь ничего не делает, чтобы привести поведение в соответствие со спецификацией DOM. Раньше метод выбрасывал исключение DOMException с кодом DOM_HIERARCHY_REQUEST_ERR.
| DOMChildNode::after | Вызов этого метода на узле без документа владельца теперь работает. Раньше метод выбрасывал исключение DOMException с кодом DOM_HIERARCHY_REQUEST_ERR.
| DOMChildNode::before | Вызов этого метода на узле, у которого нет родительского узла, теперь ничего не делает, чтобы привести поведение в соответствие со спецификацией DOM. Раньше метод выбрасывал исключение DOMException с кодом DOM_HIERARCHY_REQUEST_ERR.
| DOMChildNode::replaceWith | Вызов метода на узле без родителя теперь запрещён, чтобы привести поведение в соответствие со спецификацией DOM. Раньше метод выбрасывал исключение DOMException с кодом DOM_HIERARCHY_REQUEST_ERR.
| DOMDocument::append | Вызов этого метода на узле без документа владельца теперь работает. Раньше метод выбрасывал исключение DOMException с кодом DOM_HIERARCHY_REQUEST_ERR.
| DOMDocument::createAttributeNS | Вызов этого метода без указания префикса теперь выберет префикс, вместо того чтобы использовать пространство имен по умолчанию. Ранее это создавало атрибут без префикса и неверно применяло пространство имён к элементу-владельцу, поскольку пространства имен по умолчанию не применяются к атрибутам.
| DOMDocument::createAttributeNS | Вызов этого метода с префиксом, который уже был объявлен на элементе-владельце с другим URI пространства имён, теперь изменит новый префикс, чтобы избежать создания конфликтов пространства имён. Это приводит поведение в соответствие со спецификацией DOM. Previously this threw a DOMException with code DOM_NAMESPACE_ERR.
| DOMDocument::load | Теперь функция имеет предварительный логический (bool) тип возвращаемого значения.
| DOMDocument::loadHTML | Теперь функция имеет предварительный логический (bool) тип возвращаемого значения.
| DOMDocument::loadHTMLFile | Теперь функция имеет предварительный логический (bool) тип возвращаемого значения.
| DOMDocument::loadXML | Теперь функция имеет предварительный логический (bool) тип возвращаемого значения.
| DOMDocument::prepend | Вызов этого метода на узле без документа владельца теперь работает. Раньше метод выбрасывал исключение DOMException с кодом DOM_HIERARCHY_REQUEST_ERR.
| DOMDocument::replaceChildren | Вызов метода на узле без документа владельца теперь работает. Раньше метод выбрасывал исключение DOMException с кодом DOM_HIERARCHY_REQUEST_ERR.
| DOMDocument::saveXML | Параметры метода теперь поддерживают константу LIBXML_NOXMLDECL.
| DOMDocumentFragment::append | Вызов этого метода на узле без документа владельца теперь работает. Раньше метод выбрасывал исключение DOMException с кодом DOM_HIERARCHY_REQUEST_ERR.
| DOMDocumentFragment::prepend | Вызов этого метода на узле без документа владельца теперь работает. Раньше метод выбрасывал исключение DOMException с кодом DOM_HIERARCHY_REQUEST_ERR.
| DOMDocumentFragment::replaceChildren | Вызов метода на узле без документа владельца теперь работает. Раньше метод выбрасывал исключение DOMException с кодом DOM_HIERARCHY_REQUEST_ERR.
| DOMElement::after | Вызов этого метода на узле, у которого нет родительского узла, теперь ничего не делает, чтобы привести поведение в соответствие со спецификацией DOM. Раньше метод выбрасывал исключение DOMException с кодом DOM_HIERARCHY_REQUEST_ERR.
| DOMElement::after | Вызов этого метода на узле без документа владельца теперь работает. Раньше метод выбрасывал исключение DOMException с кодом DOM_HIERARCHY_REQUEST_ERR.
| DOMElement::append | Вызов этого метода на узле без документа владельца теперь работает. Раньше метод выбрасывал исключение DOMException с кодом DOM_HIERARCHY_REQUEST_ERR.
| DOMElement::before | Вызов этого метода на узле, у которого нет родительского узла, теперь ничего не делает, чтобы привести поведение в соответствие со спецификацией DOM. Раньше метод выбрасывал исключение DOMException с кодом DOM_HIERARCHY_REQUEST_ERR.
| DOMElement::prepend | Вызов этого метода на узле без документа владельца теперь работает. Раньше метод выбрасывал исключение DOMException с кодом DOM_HIERARCHY_REQUEST_ERR.
| DOMElement::replaceChildren | Вызов метода на узле без документа владельца теперь работает. Раньше метод выбрасывал исключение DOMException с кодом DOM_HIERARCHY_REQUEST_ERR.
| DOMElement::replaceWith | Вызов метода на узле без родителя теперь запрещён, чтобы привести поведение в соответствие со спецификацией DOM. Раньше метод выбрасывал исключение DOMException с кодом DOM_HIERARCHY_REQUEST_ERR.
| DOMParentNode::append | Вызов этого метода на узле без документа владельца теперь работает. Раньше метод выбрасывал исключение DOMException с кодом DOM_HIERARCHY_REQUEST_ERR.
| DOMParentNode::prepend | Вызов этого метода на узле без документа владельца теперь работает. Раньше метод выбрасывал исключение DOMException с кодом DOM_HIERARCHY_REQUEST_ERR.
| DOMParentNode::replaceChildren | Вызов метода на узле без документа владельца теперь работает. Раньше метод выбрасывал исключение DOMException с кодом DOM_HIERARCHY_REQUEST_ERR.
| FFI::cast | Статический вызов метода FFI::cast устарел.
| FFI::cdef | Функции языка Си, возвращающие void, возвращают PHP null вместо FFI\CType::TYPE_VOID.
| FFI::load | Метод FFI::load теперь разрешён в скриптах предзагрузки, когда текущий пользователь системы совпадает с пользователем, определённым в директиве конфигурации opcache.preload_user.
| FFI::new | Статический вызов метода FFI::new устарел.
| FFI::type | Статический вызов метода FFI::type устарел.
| array_pad | До PHP 8.3 можно было добавить не более 1 048 576 элементов. Теперь это ограниченно только размером массива.
| array_product | Теперь выдаёт ошибку уровня E_WARNING, когда значения массива (array) невозможно преобразовать в целое число (int) или число с плавающей точкой (float). Раньше массивы (array) и объекты (object) игнорировались, тогда как остальные значения приводились к целому числу (int). Больше того, объекты, определяющие числовое приведение (например, объекты класса GMP), теперь приводятся, а не игнорируются.
| array_sum | Теперь выдаёт ошибку уровня E_WARNING, когда значения массива (array) невозможно преобразовать в целое число (int) или число с плавающей точкой (float). Раньше массивы (array) и объекты (object) игнорировались, тогда как остальные значения приводились к целому числу (int). Больше того, объекты, определяющие числовое приведение (например, объекты класса GMP), теперь приводятся, а не игнорируются.
| assert | INI-настройки assert. устарели.
| assert_options | Функция assert_options устарела.
| class_alias | Функция class_alias теперь умеет создавать псевдоним для внутреннего класса.
| curl_getinfo | Добавлены опции CURLINFO_CAINFO и CURLINFO_CAPATH.
| dba_fetch | Вызов функции dba_fetch с параметром dba в качестве третьего аргумента устарел.
| easter_date | На 64-битных системах параметр year теперь принимает значения в диапазоне от 1970 до 2 000 000 000.
| fgetcsv | Вместо строки с одним нулевым байтом возвращается пустая строка, если последнее поле содержит только незавершённый символ ограничения значения поля. enclosure.
| file | Функция выбрасывает ошибку ValueError при передаче в параметр flags недопустимого флага.
| gc_status | Функция gc_status теперь возвращает следующие дополнительные поля: "running", "protected", "full", "buffer_size", "application_time", "collector_time", "destructor_time" и "free_time".
| get_class | При вызове без аргументов функция get_class теперь выдаёт ошибку уровня E_DEPRECATED; раньше вызов функции внутри класса возвращал название класса.
| get_parent_class | Функция get_parent_class теперь выдаёт предупреждение уровня E_DEPRECATED, если её вызывают без аргументов; раньше функция возвращала название класса, если её вызывали внутри класса.
| highlight_file | Изменился результирующий HTML.
| highlight_string | Изменилась результирующая HTML-разметка.
| imagerotate | Удалили ненужный параметр ignore_transparent.
| ldap_connect | Теперь вызов функции ldap_connect с отдельным указанием имени хоста hostname и порта port устарел.
| mb_convert_case | Реализовали правила условного регистра для греческой буквы сигма, которые применяются только к режимам MB_CASE_LOWER и MB_CASE_TITLE, но не к режимам MB_CASE_LOWER_SIMPLE и MB_CASE_TITLE_SIMPLE.
| mb_decode_mimeheader | Подчеркивания преобразовываются в пробелы по правилам стандарта RFC 2047.
| mb_encode_mimeheader | NUL-байты больше не отбрасываются при кодировании строк по правилам синтаксиса QP-кодировки (англ. Quoted-Printable), а кодируются как =00. Нулевой байт — байт со значением 0, который в наборах символов назначают нулевой кодовой точке.
| mb_strimwidth | Передача отрицательного значения в параметр width функции mb_strimwidth устарела.
| mb_strtolower | Реализовали правила условного регистра для греческой буквы сигма.
| mt_srand | Параметр seed теперь принимает значение null.
| number_format | Добавили ​​обработку отрицательных значений для параметра decimals.
| odbc_autocommit | Параметр enable теперь принимает значение null.
| openssl_pkey_new | Добавлена поддержка создания ключей EC с настраиваемыми параметрами EC. В частности, с введением опций EC: p, a, b, seed, generator, g_x, g_y, cofactor и order.
| password_hash | Функция password_hash теперь устанавливает базовое исключение Random\RandomException в качестве значения свойства Exception::$previous, если выбрасывается ошибка ValueError из-за сбоя во время генерации соли.
| pg_convert | Функция теперь выбрасывает исключение ValueError или TypeError, если значение или тип поля не соответствуют правильному типу СУБД PostgreSQL; раньше функция выдавала ошибку уровня E_WARNING.
| pg_fetch_object | Функция теперь выбрасывает исключение a ValueError, если в параметр constructor_args передали не пустой массив, а у класса нет конструктора; раньше функция выбрасывала исключение Exception.
| pg_fetch_result | Параметр row теперь принимает значение null.
| pg_field_is_null | Параметр row теперь принимает значение null.
| pg_field_prtlen | Параметр row теперь принимает значение null.
| pg_insert | Функция теперь выбрасывает исключение ValueError, если заданная таблица недопустима; раньше функция выдавала ошибку уровня E_WARNING.
| pg_insert | Функция теперь выбрасывает исключения ValueError или TypeError, если значение или тип поля не соответствуют правильному типу СУБД PostgreSQL; раньше функция выдавала ошибку уровня E_WARNING.
| pg_trace | Добавлен параметр trace_mode.
| posix_eaccess | Проверяет права действующего пользователя/группы на файл, в отличие от функции posix_access, которая проверяет реального пользователя/группу.
| posix_getrlimit | Добавили необязательный параметр resource.
| posix_isatty | Ошибки уровня E_WARNING теперь выдаются при преобразованиях целых чисел в соответствии с обычной семантикой преобразования типов PHP.
| posix_ttyname | Ошибки уровня E_WARNING теперь выдаются при преобразованиях целых чисел в соответствии с обычной семантикой преобразования типов PHP.
| posix_ttyname | При недопустимых целочисленных значениях параметра file_descriptor теперь выдаётся ошибка уровня E_WARNING.
| proc_close | Функция proc_close теперь возвращает правильный код завершения, даже если сначала вызвали функцию proc_get_status. Раньше в этом случае возвращалось значение -1.
| proc_get_status | В массив возврата добавили запись "cached". До PHP 8.3.0 только первый вызов возвращал реальной код завершения. Запись "cached" указывает на то, что код завершения закешировался.
| proc_open | Теперь функция выбрасывает ошибку ValueError, если значение параметра command представляет собой массив, в котором нет хотя бы одного непустого элемента.
| range | Функция range теперь создаёт массив (array) байтов, если в оба параметра start и end передали строки. Раньше при передаче числовой строки хотя бы в одном граничном значении другое граничное значение неявно приводились к типу int.
| range | Функция теперь выдаёт ошибку уровня E_WARNING, если в параметр start или end передали строку, которая неявно приводится к типу int, поскольку другое граничное значение — число.
| range | Функция теперь выдаёт ошибку уровня E_WARNING, если в параметр start или end передали нечисловую строку размером больше одного байта.
| range | Функция теперь выдаёт ошибку уровня E_WARNING, если в параметр start или end передали пустую строку.
| range | Параметр step теперь интерпретирует значения float без дробной части как значения int.
| range | Функция теперь выбрасывает ошибку ValueError при передаче в параметр step отрицательного значения для возрастающего диапазона.
| range | Функция теперь выбрасывает ошибку ValueError, если в параметр step передали неконечное числовое значение.
| range | Функция теперь выбрасывает ошибку TypeError, если в параметр start или end передали значение array, object или resource. Раньше такие значения неявно приводились к значению int.
| srand | Параметр seed теперь принимает значение null.
| str_getcsv | Вместо строки с одним нулевым байтом возвращается пустая строка, если последнее поле содержит только незавершённый символ ограничения значения поля. enclosure.
| stream_notification_callback | Реализована поддержка STREAM_NOTIFY_COMPLETED; ранее PHP никогда не вызывали это уведомление.
| strrchr | Добавлен параметр before_needle.
| strtok | Функция теперь выдаёт ошибку уровня E_WARNING, когда параметр token не указали.
| unserialize | Функция теперь выдаёт ошибку уровня E_WARNING, когда входная строка содержит неиспользованные данные.
| unserialize | Функция теперь выдаёт ошибку уровня E_WARNING, если строку невозможно десериализовать; раньше выдавалась ошибка уровня E_NOTICE.
| xml_parser_get_option | Теперь функция возвращает логическое значение для логических настроек.
| xml_parser_set_option | Теперь параметр value также принимает логические значения. Настройки XML_OPTION_CASE_FOLDING и XML_OPTION_SKIP_WHITE теперь логические.
| IntlBreakIterator::setText | Теперь метод возвращает false в случае ошибки; ранее он возвращал null.
| IntlChar::enumCharNames | Теперь метод возвращает false в случае ошибки; ранее он возвращал null.
| IntlDateFormatter::setTimeZone | Функция теперь возвращает true в случае успешного выполнения; ранее она возвращала null.
| mysqli_result::fetch_object | Теперь функция выбрасывает исключение ValueError, когда аргумент constructor_args не пуст, а класс class не имеет конструктора. Ранее функция выбрасывала исключение Exception.
| mysqli::poll | Теперь функция выбрасывает исключение ValueError, если не передан ни аргумент read, ни аргумент error.
| Phar::setStub | Вызов метода Phar::setStub с ресурсом (resource) в первом аргументе УСТАРЕЛ. Вместо передачи ресурса и аргумента length теперь вызывают: $phar->setStub(stream_get_contents($resource));.
| ReflectionClass::getStaticProperties | Тип возвращаемого значения метода ReflectionClass::getStaticProperties был изменён на array с ?array.
| ReflectionProperty::setValue | Вызов метода с одним аргументом является устаревшим, вместо этого используйте ReflectionProperty::setValue(null, $value) для статических свойств.
| SQLite3::enableExceptions | Метод SQLite3::enableExceptions выдаст предупреждение уровня E_DEPRECATED, если при вызове метода значение параметра enable равно false.
| ZipArchive::addFile | Добавили константу ZipArchive::FL_OPEN_FILE_NOW.
| ZipArchive::addFile | Добавили константы, которые устанавливают значение длины: ZipArchive::LENGTH_TO_END и ZipArchive::LENGTH_UNCHECKED.
| ZipArchive::addGlob | Добавили константу ZipArchive::FL_OPEN_FILE_NOW.
| ZipArchive::replaceFile | Добавили константу ZipArchive::FL_OPEN_FILE_NOW.
| ZipArchive::replaceFile | Добавили константы, которые задают значение длины: ZipArchive::LENGTH_TO_END и ZipArchive::LENGTH_UNCHECKED.
8.2.9 | DateTimeImmutable::createFromFormat | Спецификатор (пробел) теперь также поддерживает символы неразрывного пробела NBSP (U+A0) и узкого неразрывного пробела NNBSP (U+202F).
8.2.1 | SplFileObject::__toString | Изменён с псевдонима SplFileObject::fgets на реализацию SplFileObject::current, которая возвращает строку CSV, когда установлен флаг SplFileObject::READ_CSV.
8.2.0 | ArrayIterator::asort | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| ArrayIterator::ksort | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| ArrayIterator::natcasesort | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| ArrayIterator::natsort | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| ArrayIterator::uasort | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| ArrayIterator::uksort | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| ArrayObject::asort | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| ArrayObject::ksort | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| ArrayObject::natcasesort | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| ArrayObject::natsort | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| ArrayObject::uasort | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| ArrayObject::uksort | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| DateInterval::__construct | Из свойств объекта интервала будут видны только y в f, invert и days, включая новое логическое свойство from_string.
| DateInterval::createFromDateString | Метод создаёт объект DateInterval, в котором останутся видимыми только свойства from_string и date_string.
| DatePeriod::__construct | Добавили константу DatePeriod::INCLUDE_END_DATE.
| DateTime::createFromFormat | Теперь метод выбрасывает исключение ValueError, если в параметр datetime передали NULL-байты, что раньше метод без предупреждения игнорировал.
| DateTimeInterface::format | Добавили символы форматирования X и x.
| DateTimeImmutable::createFromFormat | Добавили спецификаторы X и x для параметра format.
| DateTimeImmutable::createFromFormat | Теперь метод выбрасывает исключение ValueError, если в параметр datetime передали NULL-байты, что раньше метод без предупреждения игнорировал.
| DateTimeImmutable::getLastErrors | До версии PHP 8.2.0 метод не возвращал false, когда не было предупреждений или ошибок. Вместо этого метод каждый раз возвращал задокументированную структуру массива.
| FilesystemIterator::__construct | До версии PHP 8.2.0, константа FilesystemIterator::SKIP_DOTS всегда была установлена и не могла быть удалена.
| array_walk | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| array_walk_recursive | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| arsort | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| asort | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| curl_getinfo | Добавлены опции CURLINFO_PROXY_ERROR, CURLINFO_REFERER, CURLINFO_RETRY_AFTER.
| curl_multi_setopt | Добавили константу CURLMOPT_MAX_CONCURRENT_STREAMS.
| date_parse_from_format | При передаче нулевых байтов в параметр datetime функция теперь выбрасывает ошибку ValueError; раньше функция молча игнорировала нулевые байты.
| dba_fetch | Необязательный параметр skip функции dba_fetch теперь находится в конце в соответствии с пользовательской семантикой PHP; перегруженная сигнатура по-прежнему принимается, но не рекомендуется.
| dba_open | Добавлен параметр flags.
| dba_open | Параметр handler теперь допускает значение null.
| dba_popen | Добавлен параметр flags.
| getimagesize | Функция теперь возвращает фактические размеры, биты и каналы изображений в формате AVIF; раньше размеры сообщались как 0x0, а биты и каналы не сообщались вообще.
| idate | Добавили символы форматирования: N — день недели по стандарту ISO-8601 и o — год по стандарту ISO-8601.
| iterator_count | Тип параметра iterator расширили с Traversable до Traversablearray.
| iterator_to_array | Тип параметра iterator был расширен с Traversable до Traversablearray.
| krsort | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| krsort | Теперь в режиме SORT_REGULAR функция сравнивает числовые строки по стандартным правилам PHP 8.
| ksort | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| ksort | Теперь в режиме SORT_REGULAR функция сравнивает числовые строки по стандартным правилам PHP 8.
| lcfirst | Приведение к единому регистру больше не зависит от региональных настроек, которые установили функцией setlocale. Преобразовываются только символы кодировки ASCII.
| mb_convert_encoding | Функция mb_convert_encoding больше не возвращает следующие нетекстовые кодировки: "Base64", "QPrint", "UUencode", "HTML entities", "7 bit" и "8 bit".
| mb_convert_kana | Функция теперь выбрасывает ошибку ValueError при недопустимой комбинации режимов в параметре mode.
| mb_detect_encoding | Функция mb_detect_encoding больше не возвращает следующие нетекстовые кодировки: "Base64", "QPrint", "UUencode", "HTML entities", "7 bit" и "8 bit".
| natcasesort | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| natsort | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| openlog | Теперь функция при кажом вызове возвращает true. Раньше функция возвращала false, если возникла ошибка.
| pg_close | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| pg_untrace | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| random_bytes | При сбое генератора криптографически безопасных псевдослучайных чисел (англ. Cryptographically Secure Pseudorandom Number Generator, CSPRNG) функция теперь выбрасывает исключение Random\RandomException. Раньше функция выбрасывала исключение Exception.
| random_int | Теперь при сбое генератора CSPRNG функция будет выбрасывать исключение Random\RandomException. Раньше функция выбрасывала исключение Exception.
| rsort | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| setcookie | Дата cookie теперь устанавливается в формате 'D, d M Y H:i:s \G\M\T'; раньше дата устанавливалась в формате 'D, d-M-Y H:i:s T'.
| snmp_set_enum_print | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| snmp_set_oid_output_format | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| snmp_set_quick_print | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| snmp_set_valueretrieval | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| sort | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| str_ireplace | Приведение к единому регистру больше не зависит от региональных настроек, которые установили функцией setlocale. Преобразовываются только символы кодировки ASCII. Байты, которые не относятся к кодировке ASCII, сравнятся по значению байта.
| str_split | Функция теперь возвращает пустой массив (array), если параметр string не указали; раньше возвращался массив (array), который содержал одну пустую строку.
| strcasecmp | Функция больше не гарантирует возврат разницы strlen($string1) - strlen($string2), когда длины строк не равны, но теперь вместо этого иногда возвращает -1 или 1.
| strcmp | Функция больше не гарантирует возврат разницы strlen($string1) - strlen($string2), когда длины строк не равны, но теперь вместо этого иногда возвращает -1 или 1.
| stripos | Приведение к единому регистру больше не зависит от региональных настроек, которые установили функцией setlocale. Преобразовываются только символы кодировки ASCII. Байты, которые не относятся к кодировке ASCII, сравнятся по значению байта.
| stristr | Приведение к единому регистру больше не зависит от региональных настроек, которые установили функцией setlocale. Преобразовываются только символы кодировки ASCII. Байты, которые не относятся к кодировке ASCII, сравнятся по значению байта.
| strnatcasecmp | Функция больше не гарантирует возврат разницы strlen($string1) - strlen($string2), когда длины строк не равны, но теперь вместо этого иногда возвращает -1 или 1.
| strnatcmp | Функция больше не гарантирует возврат разницы strlen($string1) - strlen($string2), когда длины строк не равны, но теперь вместо этого иногда возвращает -1 или 1.
| strncasecmp | Функция больше не гарантирует возврат разницы strlen($string1) - strlen($string2), когда длины строк не равны, но теперь вместо этого иногда возвращает -1 или 1.
| strncmp | Функция больше не гарантирует возврат разницы strlen($string1) - strlen($string2), когда длины строк не равны, но теперь вместо этого иногда возвращает -1 или 1.
| strripos | Приведение к единому регистру больше не зависит от региональных настроек, которые установили функцией setlocale. Преобразовываются только символы кодировки ASCII. Байты, которые не относятся к кодировке ASCII, сравнятся по значению байта.
| strtolower | Приведение к единому регистру больше не зависит от региональных настроек, которые установили функцией setlocale. Преобразовываются только символы кодировки ASCII.
| strtoupper | Приведение к единому регистру больше не зависит от региональных настроек, которые установили функцией setlocale. Преобразовываются только символы кодировки ASCII.
| substr_compare | Функция больше не гарантирует возврат разницы strlen($string1) - strlen($string2), когда длины строк не равны, но теперь вместо этого иногда возвращает -1 или 1.
| uasort | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| ucfirst | Приведение к единому регистру больше не зависит от региональных настроек, которые установили функцией setlocale. Преобразовываются только символы кодировки ASCII.
| ucwords | Приведение к единому регистру больше не зависит от региональных настроек, которые установили функцией setlocale. Преобразовываются только символы кодировки ASCII.
| uksort | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| usort | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| utf8_decode | Функция устарела.
| utf8_encode | Функция устарела.
| var_export | Названия экспортируемых классов стали абсолютными; раньше ведущий обратный слеш опускался.
| IntlCalendar::clear | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| IntlCalendar::set | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| IntlCalendar::setFirstDayOfWeek | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| IntlCalendar::setLenient | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| IntlCalendar::setRepeatedWallTimeOption | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| IntlCalendar::setSkippedWallTimeOption | Вместо общего логического типа bool теперь возвращается конкретный тип true.
| ReflectionEnum::getBackingType | Тип значения возврата теперь равен ?ReflectionNamedType; раньше тип возврата был ?ReflectionType.
8.1.14 | SplFileObject::__toString | Изменён с псевдонима SplFileObject::fgets на реализацию SplFileObject::current, которая возвращает строку CSV, когда установлен флаг SplFileObject::READ_CSV.
8.1.8 | DateTime::createFromFormat | Теперь метод выбрасывает исключение ValueError, если в параметр datetime передали NULL-байты, что раньше метод без предупреждения игнорировал.
| DateTimeImmutable::createFromFormat | Теперь метод выбрасывает исключение ValueError, если в параметр datetime передали NULL-байты, что раньше метод без предупреждения игнорировал.
| date_parse_from_format | При передаче нулевых байтов в параметр datetime функция теперь выбрасывает ошибку ValueError; раньше функция молча игнорировала нулевые байты.
8.1.0 | DateTime::setTime | Поведение с двойными существующими часами (во время перехода на летнее время) изменилось. Ранее PHP выбирал второе вхождение (после перехода на летнее время), а не первое (до перехода на летнее время).
| DateTimeImmutable::setTime | Изменилось поведение с повторным появлением одного и того же часа при переходе с летнего времени на зимнее, когда стрелки часов переводят на один час назад. Раньше PHP выбирал второе вхождение — момент после перехода на зимнее время, а теперь выбирает первое — до перехода.
| DateTimeZone::getTransitions | Значение параметра timestampEnd по умолчанию изменено на 2147483647. Ранее оно было PHP_INT_MAX.
| DirectoryIterator::key | При ошибке инициализации итератора теперь выдаётся ошибка Error; ранее метод возвращал значение false.
| DOMDocument::createComment | В случае возникновения ошибки теперь выбрасывает исключение DomException. Ранее вместо этого возвращалось значение false.
| DOMDocument::createDocumentFragment | В случае возникновения ошибки теперь выбрасывает исключение DomException. Ранее вместо этого возвращалось значение false.
| DOMDocument::createTextNode | В случае возникновения ошибки теперь выбрасывает исключение DomException. Ранее вместо этого возвращалось значение false.
| current | Вызов функции на значении с типом object устарел. Объект (object) либо сначала преобразовывают в массив (array) функцией get_mangled_object_vars, либо пользуются методами класса наподобие ArrayIterator, в котором реализовали интерфейс Iterator.
| date_sunrise | Функция устарела, пользуйтесь вместе неё функцию date_sun_info.
| date_sunset | Функция устарела, пользуйтесь вместе неё функцию date_sun_info.
| dba_popen | Параметр handler теперь допускает значение null.
| define | Параметр value теперь принимает объекты.
| end | Вызов функции на значении с типом object устарел. Объект (object) либо сначала преобразовывают в массив (array) функцией get_mangled_object_vars, либо пользуются методами класса наподобие ArrayIterator, в котором реализовали интерфейс Iterator.
| exif_imagetype | Добавлена поддержка AVIF.
| finfo_buffer | Параметр finfo теперь принимает объект finfo; раньше параметр ждал ресурс (resource).
| finfo_close | Функция стала NOP (англ. No Operation) и ни на что не влияет.
| finfo_close | Параметр finfo теперь принимает объект finfo; раньше параметр ждал ресурс (resource).
| finfo_file | Параметр finfo теперь принимает объект finfo; раньше параметр ждал ресурс (resource).
| finfo_open | Возвращает экземпляр finfo; ранее возвращался ресурс (resource).
| finfo_set_flags | Параметр finfo теперь принимает объект finfo; раньше параметр ждал ресурс (resource).
| fputcsv | Добавили необязательный параметр eol.
| ftp_alloc | Параметр ftp теперь принимает объект FTP\Connection; раньше параметр ждал ресурс (resource).
| ftp_append | Параметр ftp теперь принимает объект FTP\Connection; раньше параметр ждал ресурс (resource).
| ftp_cdup | Параметр ftp теперь принимает объект FTP\Connection; раньше параметр ждал ресурс (resource).
| ftp_chdir | Параметр ftp теперь принимает объект FTP\Connection; раньше параметр ждал ресурс (resource).
| ftp_chmod | Параметр ftp теперь принимает объект FTP\Connection; раньше параметр ждал ресурс (resource).
| ftp_close | Параметр ftp теперь принимает объект FTP\Connection; раньше параметр ждал ресурс (resource).
| ftp_connect | Возвращает экземпляр FTP\Connection; ранее возвращался ресурс (resource).
| ftp_delete | Параметр ftp теперь принимает объект FTP\Connection; раньше параметр ждал ресурс (resource).
| ftp_exec | Параметр ftp теперь принимает объект FTP\Connection; раньше параметр ждал ресурс (resource).
| ftp_fget | Параметр ftp теперь принимает объект FTP\Connection; раньше параметр ждал ресурс (resource).
| ftp_fput | Параметр ftp теперь принимает объект FTP\Connection; раньше параметр ждал ресурс (resource).
| ftp_get | Параметр ftp теперь принимает объект FTP\Connection; раньше параметр ждал ресурс (resource).
| ftp_get_option | Параметр ftp теперь принимает объект FTP\Connection; раньше параметр ждал ресурс (resource).
| ftp_login | Параметр ftp теперь принимает объект FTP\Connection; раньше параметр ждал ресурс (resource).
| ftp_mdtm | Параметр ftp теперь принимает объект FTP\Connection; раньше параметр ждал ресурс (resource).
| ftp_mkdir | Параметр ftp теперь принимает объект FTP\Connection; раньше параметр ждал ресурс (resource).
| ftp_mlsd | Параметр ftp теперь принимает объект FTP\Connection; раньше параметр ждал ресурс (resource).
| ftp_nb_continue | Параметр ftp теперь принимает объект FTP\Connection; раньше параметр ждал ресурс (resource).
| ftp_nb_fget | Параметр ftp теперь принимает объект FTP\Connection; раньше параметр ждал ресурс (resource).
| ftp_nb_fput | Параметр ftp теперь принимает объект FTP\Connection; раньше параметр ждал ресурс (resource).
| ftp_nb_get | Параметр ftp теперь принимает объект FTP\Connection; раньше параметр ждал ресурс (resource).
| ftp_nb_put | Параметр ftp теперь принимает объект FTP\Connection; раньше параметр ждал ресурс (resource).
| ftp_nlist | Параметр ftp теперь принимает объект FTP\Connection; раньше параметр ждал ресурс (resource).
| ftp_pasv | Параметр ftp теперь принимает объект FTP\Connection; раньше параметр ждал ресурс (resource).
| ftp_put | Параметр ftp теперь принимает объект FTP\Connection; раньше параметр ждал ресурс (resource).
| ftp_pwd | Параметр ftp теперь принимает объект FTP\Connection; раньше параметр ждал ресурс (resource).
| ftp_raw | Параметр ftp теперь принимает объект FTP\Connection; раньше параметр ждал ресурс (resource).
| ftp_rawlist | Параметр ftp теперь принимает объект FTP\Connection; раньше параметр ждал ресурс (resource).
| ftp_rename | Параметр ftp теперь принимает объект FTP\Connection; раньше параметр ждал ресурс (resource).
| ftp_rmdir | Параметр ftp теперь принимает объект FTP\Connection; раньше параметр ждал ресурс (resource).
| ftp_set_option | Параметр ftp теперь принимает объект FTP\Connection; раньше параметр ждал ресурс (resource).
| ftp_site | Параметр ftp теперь принимает объект FTP\Connection; раньше параметр ждал ресурс (resource).
| ftp_size | Параметр ftp теперь принимает объект FTP\Connection; раньше параметр ждал ресурс (resource).
| ftp_ssl_connect | Теперь функция возвращает экземпляр класса FTP\Connection; раньше возвращался ресурс (resource).
| ftp_systype | Параметр ftp теперь принимает объект FTP\Connection; раньше параметр ждал ресурс (resource).
| get_html_translation_table | Значение по умолчанию параметра flags изменено с ENT_COMPAT на ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401.
| gmp_init | Для строковых аргументов num добавили поддержку явных восьмеричных префиксов 0o и 0O. Интерпретацию таких префиксов, когда значение основания base равно 0, тоже добавили.
| hash | Добавили параметр options.
| hash_algos | Добавили поддержку алгоритмов MurmurHash3 и xxHash.
| hash_file | Добавили параметр options.
| hash_init | Добавили параметр options.
| html_entity_decode | Значение по умолчанию для параметра flags изменили с ENT_COMPAT на ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401.
| htmlentities | Значение по умолчанию параметра flags изменили с ENT_COMPAT на ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401.
| htmlspecialchars | Значение по умолчанию для параметра flags изменили с ENT_COMPAT на ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401.
| htmlspecialchars_decode | Значение по умолчанию для параметра flags изменили с ENT_COMPAT на ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401.
| imagechar | Параметр font теперь принимает как экземпляр класса GdFont, так и целое число (int); раньше параметр принимал только целое число (int).
| imagecharup | Параметр font теперь принимает как экземпляр класса GdFont, так и целое число (int); раньше параметр принимал только целое число (int).
| imagefilledpolygon | Параметр num_points устарел.
| imagefontheight | Параметр font теперь принимает как экземпляр класса GdFont, так и целое число (int); раньше параметр принимал только целое число (int).
| imagefontwidth | Параметр font теперь принимает как экземпляр класса GdFont, так и целое число (int); раньше параметр принимал только целое число (int).
| imageloadfont | Функция теперь возвращает экземпляр класса GdFont; раньше возвращалось значение с типом int.
| imageopenpolygon | Параметр num_points устарел.
| imagepolygon | Параметр num_points устарел.
| imagestring | Параметр font теперь принимает как экземпляр класса GdFont, так и целое число (int); раньше параметр принимал только целое число (int).
| imagestringup | Параметр font теперь принимает как экземпляр класса GdFont, так и целое число (int); раньше параметр принимал только целое число (int).
| imagetypes | Добавлена константа IMG_AVIF.
| ini_set | Параметр value теперь принимает скалярные типы, включая null. Раньше параметр принимал только строковые (string) значения.
| key | Вызов функции на значении с типом object устарел. Объект (object) либо сначала преобразовывают в массив (array) функцией get_mangled_object_vars, либо пользуются методами класса наподобие ArrayIterator, в котором реализовали интерфейс Iterator.
| ldap_add | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_add_ext | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_add_ext | Возвращает экземпляр класса LDAP\Result; раньше возвращался ресурс (resource).
| ldap_bind | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_bind_ext | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_bind_ext | Возвращает экземпляр класса LDAP\Result; раньше возвращался ресурс (resource).
| ldap_compare | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_connect | Возвращает экземпляр LDAP\Connection; ранее возвращался ресурс (resource).
| ldap_count_entries | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_count_entries | Параметр result теперь принимает объект LDAP\Result; раньше параметр ждал ресурс (resource) ldap result.
| ldap_count_references | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_count_references | Параметр result теперь принимает объект LDAP\Result; раньше параметр ждал ресурс (resource) ldap result.
| ldap_delete | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_delete_ext | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_delete_ext | Возвращает экземпляр класса LDAP\Result; раньше возвращался ресурс (resource).
| ldap_errno | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_error | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_exop | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_exop_passwd | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_exop_refresh | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_exop_whoami | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_first_attribute | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_first_attribute | Параметр entry теперь принимает объект LDAP\ResultEntry; раньше параметр ждал ресурс (resource) ldap result entry.
| ldap_first_entry | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_first_entry | Параметр result теперь принимает объект LDAP\Result; раньше параметр ждал ресурс (resource) ldap result.
| ldap_first_entry | Возвращает экземпляр класса LDAP\ResultEntry; раньше возвращался ресурс (resource).
| ldap_free_result | Параметр result теперь принимает объект LDAP\Result; раньше параметр ждал ресурс (resource) ldap result.
| ldap_get_attributes | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_get_attributes | Параметр entry теперь принимает объект LDAP\ResultEntry; раньше параметр ждал ресурс (resource) ldap result entry.
| ldap_get_dn | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_get_dn | Параметр entry теперь принимает объект LDAP\ResultEntry; раньше параметр ждал ресурс (resource) ldap result entry.
| ldap_get_entries | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_get_entries | Параметр result теперь принимает объект LDAP\Result; раньше параметр ждал ресурс (resource) ldap result.
| ldap_get_option | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_get_values | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_get_values | Параметр entry теперь принимает объект LDAP\ResultEntry; раньше параметр ждал ресурс (resource) ldap result entry.
| ldap_get_values_len | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_get_values_len | Параметр entry теперь принимает объект LDAP\ResultEntry; раньше параметр ждал ресурс (resource) ldap result entry.
| ldap_list | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_list | Возвращает экземпляр класса LDAP\Result; раньше возвращался ресурс (resource).
| ldap_mod_add | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_mod_del | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_mod_replace | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_modify_batch | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_mod_add_ext | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_mod_add_ext | Возвращает экземпляр класса LDAP\Result; раньше возвращался ресурс (resource).
| ldap_mod_del_ext | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_mod_del_ext | Возвращает экземпляр класса LDAP\Result; раньше возвращался ресурс (resource).
| ldap_mod_replace_ext | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_mod_replace_ext | Возвращает экземпляр класса LDAP\Result; раньше возвращался ресурс (resource).
| ldap_next_attribute | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_next_attribute | Параметр entry теперь принимает объект LDAP\ResultEntry; раньше параметр ждал ресурс (resource) ldap result entry.
| ldap_next_entry | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_next_entry | Параметр entry теперь принимает объект LDAP\ResultEntry; раньше параметр ждал ресурс (resource) ldap result entry.
| ldap_next_entry | Возвращает экземпляр класса LDAP\Result; раньше возвращался ресурс (resource).
| ldap_parse_exop | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_parse_exop | Параметр result теперь принимает объект LDAP\Result; раньше параметр ждал ресурс (resource) ldap result.
| ldap_parse_result | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_parse_result | Параметр result теперь принимает объект LDAP\Result; раньше параметр ждал ресурс (resource) ldap result.
| ldap_read | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_read | Возвращает экземпляр класса LDAP\Result; раньше возвращался ресурс (resource).
| ldap_rename | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_rename_ext | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_rename_ext | Возвращает экземпляр класса LDAP\Result; раньше возвращался ресурс (resource).
| ldap_sasl_bind | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_search | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_search | Возвращает экземпляр класса LDAP\Result; раньше возвращался ресурс (resource).
| ldap_set_option | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_set_rebind_proc | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| ldap_unbind | Параметр ldap теперь принимает объект LDAP\Connection; раньше параметр ждал ресурс (resource) ldap link .
| mb_check_encoding | Вызов функции с null в качестве параметра value или без аргумента устарело.
| mhash | Функция устарела. Вместо неё рекомендуют пользоваться функциями семейства функции hash_*().
| mhash_count | Функция устарела. Вместо неё рекомендуют пользоваться функциями семейства функции hash_*().
| mhash_get_block_size | Функция устарела. Вместо неё рекомендуют пользоваться функциями семейства функции hash_*().
| mhash_get_hash_name | Функция устарела. Вместо неё рекомендуют пользоваться функциями семейства функции hash_*().
| mhash_keygen_s2k | Функция устарела. Вместо неё рекомендуют пользоваться функциями семейства функции hash_*().
| next | Вызов функции на значении с типом object устарел. Объект (object) либо сначала преобразовывают в массив (array) функцией get_mangled_object_vars, либо пользуются методами класса наподобие ArrayIterator, в котором реализовали интерфейс Iterator.
| odbc_result_all | Функция устарела.
| openssl_cms_encrypt | Алгоритм шифрования по умолчанию (cipher_algo) теперь AES-128-CBC (OPENSSL_CIPHER_AES_128_CBC). Ранее использовался алгоритм PKCS7/CMS (OPENSSL_CIPHER_RC2_40).
| openssl_decrypt | Параметр tag теперь принимает значение null.
| openssl_pkcs7_encrypt | Алгоритмом шифрования по умолчанию, который принимает параметр cipher_algo, стал AES-128-CBC — флаг OPENSSL_CIPHER_AES_128_CBC. Раньше алгоритмом по умолчанию был PKCS7/CMS — флаг OPENSSL_CIPHER_RC2_40.
| pg_affected_rows | Параметр result теперь принимает объект PgSql\Result; раньше параметр принимал тип resource.
| pg_cancel_query | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_client_encoding | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_close | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_connect | Функция теперь возвращает экземпляр класса PgSql\Connection; раньше возвращался ресурс (resource).
| pg_connect_poll | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_connection_busy | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_connection_reset | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_connection_status | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_consume_input | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_convert | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_copy_from | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_copy_to | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_dbname | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_delete | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_end_copy | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_escape_bytea | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_escape_identifier | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_escape_literal | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_escape_string | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_execute | Функция возвращает экземпляр класса PgSql\Result; раньше функция возвращала ресурс (resource).
| pg_execute | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_fetch_all | Параметр result теперь принимает объект PgSql\Result; раньше параметр принимал тип resource.
| pg_fetch_all_columns | Параметр result теперь принимает объект PgSql\Result; раньше параметр принимал тип resource.
| pg_fetch_array | Параметр result теперь принимает объект PgSql\Result; раньше параметр принимал тип resource.
| pg_fetch_assoc | Параметр result теперь принимает объект PgSql\Result; раньше параметр принимал тип resource.
| pg_fetch_object | Параметр result теперь принимает объект PgSql\Result; раньше параметр принимал тип resource.
| pg_fetch_result | Параметр result теперь принимает объект PgSql\Result; раньше параметр принимал тип resource.
| pg_fetch_row | Параметр result теперь принимает объект PgSql\Result; раньше параметр принимал тип resource.
| pg_field_is_null | Параметр result теперь принимает объект PgSql\Result; раньше параметр принимал тип resource.
| pg_field_name | Параметр result теперь принимает объект PgSql\Result; раньше параметр принимал тип resource.
| pg_field_num | Параметр result теперь принимает объект PgSql\Result; раньше параметр принимал тип resource.
| pg_field_prtlen | Параметр result теперь принимает объект PgSql\Result; раньше параметр принимал тип resource.
| pg_field_size | Параметр result теперь принимает объект PgSql\Result; раньше параметр принимал тип resource.
| pg_field_table | Параметр result теперь принимает объект PgSql\Result; раньше параметр принимал тип resource.
| pg_field_type | Параметр result теперь принимает объект PgSql\Result; раньше параметр принимал тип resource.
| pg_field_type_oid | Параметр result теперь принимает объект PgSql\Result; раньше параметр принимал тип resource.
| pg_flush | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_free_result | Параметр result теперь принимает объект PgSql\Result; раньше параметр принимал тип resource.
| pg_get_notify | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_get_pid | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_get_result | Функция возвращает экземпляр класса PgSql\Result; раньше функция возвращала ресурс (resource).
| pg_get_result | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_host | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_insert | Функция возвращает экземпляр класса PgSql\Result; раньше функция возвращала ресурс (resource).
| pg_insert | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_last_error | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_last_notice | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_last_oid | Параметр result теперь принимает объект PgSql\Result; раньше параметр принимал тип resource.
| pg_lo_close | Параметр lob теперь принимает объект PgSql\Lob; раньше параметр принимал тип resource.
| pg_lo_create | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_lo_export | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_lo_import | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_lo_open | Возвращает экземпляр PgSql\Lob; ранее возвращался ресурс (resource).
| pg_lo_open | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_lo_read | Параметр lob теперь принимает объект PgSql\Lob; раньше параметр принимал тип resource.
| pg_lo_read_all | Параметр lob теперь принимает объект PgSql\Lob; раньше параметр принимал тип resource.
| pg_lo_seek | Параметр lob теперь принимает объект PgSql\Lob; раньше параметр принимал тип resource.
| pg_lo_tell | Параметр lob теперь принимает объект PgSql\Lob; раньше параметр принимал тип resource.
| pg_lo_truncate | Параметр lob теперь принимает объект PgSql\Lob; раньше параметр принимал тип resource.
| pg_lo_unlink | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_lo_write | Параметр lob теперь принимает объект PgSql\Lob; раньше параметр принимал тип resource.
| pg_meta_data | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_num_fields | Параметр result теперь принимает объект PgSql\Result; раньше параметр принимал тип resource.
| pg_num_rows | Параметр result теперь принимает объект PgSql\Result; раньше параметр принимал тип resource.
| pg_options | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_parameter_status | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_pconnect | Функция теперь возвращает экземпляр класса PgSql\Connection; раньше возвращался ресурс (resource).
| pg_ping | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_port | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_prepare | Функция возвращает экземпляр класса PgSql\Result; раньше функция возвращала ресурс (resource).
| pg_prepare | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_put_line | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_query | Функция возвращает экземпляр класса PgSql\Result; раньше функция возвращала ресурс (resource).
| pg_query | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_query_params | Функция возвращает экземпляр класса PgSql\Result; раньше функция возвращала ресурс (resource).
| pg_query_params | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_result_error | Параметр result теперь принимает объект PgSql\Result; раньше параметр принимал тип resource.
| pg_result_error_field | Параметр result теперь принимает объект PgSql\Result; раньше параметр принимал тип resource.
| pg_result_seek | Параметр result теперь принимает объект PgSql\Result; раньше параметр принимал тип resource.
| pg_result_status | Параметр result теперь принимает объект PgSql\Result; раньше параметр принимал тип resource.
| pg_select | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_send_execute | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_send_prepare | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_send_query | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_send_query_params | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_set_client_encoding | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_set_error_verbosity | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_socket | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_trace | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_transaction_status | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_tty | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_untrace | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_update | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| pg_version | Параметр connection теперь принимает объект PgSql\Connection; раньше параметр принимал тип resource.
| prev | Вызов функции на значении с типом object устарел. Объект (object) либо сначала преобразовывают в массив (array) функцией get_mangled_object_vars, либо пользуются методами класса наподобие ArrayIterator, в котором реализовали интерфейс Iterator.
| reset | Вызов функции на значении с типом object устарел. Объект (object) либо сначала преобразовывают в массив (array) функцией get_mangled_object_vars, либо пользуются методами класса наподобие ArrayIterator, в котором реализовали интерфейс Iterator.
| snmp3_get | Параметр auth_protocol теперь принимает "SHA256" и "SHA512", если поддерживается libnetsnmp.
| snmp3_getnext | Параметр auth_protocol теперь принимает "SHA256" и "SHA512", если поддерживается libnetsnmp.
| snmp3_real_walk | Параметр auth_protocol теперь принимает "SHA256" и "SHA512", если поддерживается libnetsnmp.
| snmp3_walk | Параметр auth_protocol теперь принимает "SHA256" и "SHA512", если поддерживается libnetsnmp.
| stream_select | Параметр microseconds теперь принимает значение null.
| strptime | Функция устарела. Вместо неё рекомендуют пользоваться функцией date_parse_from_format, чтобы разобрать дату и время независимо от региональных настроек, или методом IntlDateFormatter::parse, чтобы разбор зависел от локали.
| IntlDateFormatter::create | Теперь параметры dateType и timeType необязательны.
| MultipleIterator::current | Теперь выбрасывается исключение RuntimeException, если MultipleIterator::key вызывается на недопустимом итераторе. Ранее вместо этого возвращалось значение false.
| MultipleIterator::key | Теперь выбрасывается исключение RuntimeException, если MultipleIterator::key вызывается на недопустимом итераторе. Ранее вместо этого возвращалось значение false.
| mysqli_driver::$report_mode | Для режима сообщений об ошибках значение по умолчанию теперь равно MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT. Раньше значением по умолчанию было MYSQLI_REPORT_OFF.
| mysqli_result::fetch_all | Теперь также доступно при сборке с libmysqlclient.
| mysqli_stmt::execute | Добавлен необязательный параметр params.
| mysqli_stmt::next_result | Теперь также доступно при сборке с libmysqlclient.
| mysqli::__construct | Метод mysqli::connect теперь возвращает значение true вместо null в случае успешного выполнения.
| mysqli::$client_info | Вызов функции mysqli_get_client_info с аргументом mysql устарел. Функции никогда не требовался этот параметр, но она ошибочно разрешала передавать для него аргумент и обрабатывала параметр как необязательный.
| mysqli::$client_info | Объектно-ориентированный стиль вызова метода mysqli::get_client_info устарел.
| mysqli::init | Объектно-ориентированный стиль вызова метода mysqli::init устарел. Замените вызов метода parent::init вызовом метода parent::__construct.
| Phar::buildFromDirectory | Phar::buildFromDirectory больше не возвращает значение false.
| Phar::buildFromIterator | Phar::buildFromIterator больше не возвращает значение false.
| PharData::buildFromDirectory | PharData::buildFromDirectory больше не возвращает значение false.
| PharData::buildFromIterator | PharData::buildFromIterator больше не возвращает значение false.
| ReflectionFunctionAbstract::isStatic | Метод был расширен. Ранее он был определён только в ReflectionMethod.
| ReflectionClassConstant::getName | Метод выдаёт исключение Error, если свойство name не проинициализировали. Раньше в случае ошибки метод возвращал false.
| ReflectionExtension::__clone | Метод больше не является окончательным (final).
| ReflectionFunctionAbstract::__clone | Метод больше не является окончательным (final).
| ReflectionMethod::setAccessible | Вызов этого метода ни на что не влияет; все методы по умолчанию доступны для вызова.
| ReflectionParameter::__clone | Метод больше не окончательный (final).
| ReflectionProperty::__clone | Метод больше не окончательный (final).
| ReflectionProperty::getValue | Доступ к закрытым и защищённым свойствам можно сразу же получить с помощью метода ReflectionProperty::getValue. Ранее их нужно было сделать доступными с помощью метода ReflectionProperty::setAccessible; в противном случае выбрасывалось исключение ReflectionException.
| ReflectionProperty::setAccessible | Вызов этого метода ни на что не влияет; все свойства по умолчанию доступны.
| ReflectionProperty::setValue | Доступ к закрытым и защищённым свойствам сразу получают методом ReflectionProperty::getValue. Раньше свойства требовалось сделать доступными методом ReflectionProperty::setAccessible, иначе метод выбрасывал исключение ReflectionException.
| ReflectionZendExtension::__clone | Метод больше не является окончательным (final).
| SimpleXMLElement::current | Если SimpleXMLElement::current вызывается на некорректном итераторе, то теперь выдаётся ошибка Error; ранее возвращалось значение null.
| SimpleXMLElement::key | В случае вызова метода SimpleXMLElement::key на некорректном итераторе теперь выдаётся ошибка Error; ранее возвращалось значение false.
| SplFileObject::fputcsv | Добавили необязательный параметр eol.
| SplObjectStorage::current | Метод SplObjectStorage::current теперь выбрасывает исключение Error, если текущая позиция недопустима. Ранее вместо этого возвращалось значение false.
| SQLite3Result::finalize | Метод теперь выбрасывает ошибку Error, если объект неправильно инициализирован; ранее возвращалось значение false.
| SQLite3Stmt::close | Метод теперь выбрасывает ошибку Error, если объект неправильно инициализирован; ранее возвращалось значение false.
8.0.21 | DateTime::createFromFormat | Теперь метод выбрасывает исключение ValueError, если в параметр datetime передали NULL-байты, что раньше метод без предупреждения игнорировал.
| DateTimeImmutable::createFromFormat | Теперь метод выбрасывает исключение ValueError, если в параметр datetime передали NULL-байты, что раньше метод без предупреждения игнорировал.
| date_parse_from_format | При передаче нулевых байтов в параметр datetime функция теперь выбрасывает ошибку ValueError; раньше функция молча игнорировала нулевые байты.
8.0.5 | imageinterlace | Функция imageinterlace теперь возвращает значение с типом bool; раньше функция возвращала значение с типом int, ненулевое для изображений с интерлейсингом, иначе 0.
8.0.3 | DOMDocument::getElementsByTagNameNS | namespace теперь допускает значение null.
| DOMElement::getElementsByTagNameNS | namespace теперь допускает значение null.
| DOMImplementation::createDocument | namespace теперь допускает значение null.
| finfo::__construct | magic_database теперь допускает значение null.
| bind_textdomain_codeset | Параметр codeset теперь принимает значение null. Раньше было невозможно получить текущую установленную кодировку.
| bindtextdomain | Параметр directory теперь принимает значение null. Раньше было невозможно получить текущий установленный каталог.
| finfo_open | magic_database теперь допускает значение null.
| imagegd | Параметр file теперь принимает значение null.
| imagegd2 | Параметр file теперь принимает значение null.
| SoapClient::__setLocation | location теперь допускает значение null.
| SoapVar::__construct | typeName, typeNamespace, nodeName и nodeNamespace теперь допускают значения null.
8.0.0 | CURLFile::__construct | Параметры mime_type и posted_filename теперь принимают значение null; раньше значение по умолчанию равнялось 0.
| DateInterval::__construct | Обозначение недель W теперь разрешено комбинировать с обозначением дней D.
| DateTime::createFromImmutable | Метод теперь возвращает экземпляр текущего класса — на котором вызвали метод; раньше метод создавал новый экземпляр класса DateTime.
| DateTimeInterface::format | Добавили символ форматирования p.
| DateTimeInterface::getTimestamp | Функции больше не возвращают значение false, если возникла ошибка.
| DateTimeImmutable::createFromMutable | Метод теперь возвращает экземпляр текущего класса — на котором вызвали метод; раньше метод создавал новый экземпляр класса DateTimeImmutable.
| DateTimeZone::listIdentifiers | До этой версии при ошибке возвращалось значение false.
| Directory::close | Параметры не принимаются. Раньше в качестве аргумента можно было передать дескриптор каталога.
| Directory::read | Параметры не принимаются. Раньше в качестве аргумента можно было передать дескриптор каталога.
| Directory::rewind | Параметры не принимаются. Раньше в качестве аргумента можно было передать дескриптор каталога.
| DirectoryIterator::__construct | Теперь метод выбрасывает ошибку ValueError, если в параметр directory передали пустую строку; раньше выбрасывалось исключение RuntimeException.
| DOMDocument::load | При статическом вызове функции теперь будет выбрасываться ошибка Error. Ранее выдавалась ошибка уровня E_DEPRECATED.
| DOMDocument::loadHTML | При статическом вызове функции теперь будет выбрасываться ошибка Error. Ранее выдавалась ошибка уровня E_DEPRECATED.
| DOMDocument::loadHTMLFile | При статическом вызове функции теперь будет выбрасываться ошибка Error. Ранее выдавалась ошибка уровня E_DEPRECATED.
| DOMDocument::loadXML | При статическом вызове функции теперь будет выбрасываться ошибка Error. Ранее выдавалась ошибка уровня E_DEPRECATED.
| DOMImplementation::createDocument | doctype теперь допускает значение null.
| DOMImplementation::createDocument | При статическом вызове функции теперь будет выбрасываться ошибка Error. Ранее выдавалась ошибка уровня E_DEPRECATED.
| DOMImplementation::createDocumentType | При статическом вызове функции теперь будет выбрасываться ошибка Error. Ранее выдавалась ошибка уровня E_DEPRECATED.
| DOMImplementation::hasFeature | Теперь статический вызов метода выбросит исключение Error. Раньше метод выдавал ошибку уровня E_DEPRECATED.
| FFI::cdef | lib теперь допускает значение null.
| FFI::string | size теперь допускает значение null; ранее значением по умолчанию был 0.
| FilesystemIterator::__construct | Теперь выбрасывает исключение ValueError, если параметр directory содержит пустую строку; ранее выбрасывалось исключение RuntimeException.
| abs | Параметр num больше не принимает внутренние объекты, поддерживающие числовое преобразование.
| apache_note | note_value теперь допускает значение null.
| array_chunk | Если параметр length меньше 1, будет выброшено исключение ValueError; ранее, вместо этого выдавалась ошибка уровня E_WARNING и функция возвращала null.
| array_column | Функция больше не приводит к строке объекты в столбцах, которые обозначили аргументом index_key, а вместо этого выбрасывает ошибку TypeError.
| array_combine | Функция array_combine теперь выбрасывает ошибку ValueError, если количество элементов в массивах не совпадает; раньше функция возвращала значение false.
| array_diff | Функция теперь поддерживает вызов только с одним аргументом. Раньше требовалось не меньше двух аргументов.
| array_diff_assoc | Функция теперь поддерживает вызов только с одним аргументом. Раньше требовалось не меньше двух аргументов.
| array_diff_key | Функция теперь поддерживает вызов только с одним аргументом. Раньше требовалось не меньше двух аргументов.
| array_fill | Функция array_fill теперь выбрасывает ошибку ValueError, если значение параметра count выходит за пределы допустимого диапазона; раньше выдавалась ошибка уровня E_WARNING, а функция возвращала значение false.
| array_filter | Параметр callback теперь принимает значение null.
| array_filter | Функция теперь выдаст ошибку уровня E_WARNING, если параметр callback-функции ожидает передачу значения по ссылке.
| array_intersect | Функция теперь поддерживает вызов только с одним аргументом. Раньше требовалось не меньше двух аргументов.
| array_intersect_assoc | Функция теперь поддерживает вызов только с одним аргументом. Раньше требовалось не меньше двух аргументов.
| array_intersect_key | Функция теперь поддерживает вызов только с одним аргументом. Раньше требовалось не меньше двух аргументов.
| array_key_exists | Параметр key теперь принимает аргументы с типами bool, float, int, null, resource и string.
| array_key_exists | Передача значения с типом object в параметр array больше не поддерживается.
| array_map | Функция теперь выдаст ошибку уровня E_WARNING, если параметр callback-функции ожидает передачу значения по ссылке.
| array_rand | Функция array_rand теперь выбрасывает ошибку ValueError, если значение параметра num выходит за пределы диапазона; раньше функция выдавала ошибку уровня E_WARNING и возвращала значение null.
| array_rand | Функция array_rand теперь выбрасывает ошибку ValueError, если в параметр array передали пустой массив; раньше функция выдавала ошибку уровня E_WARNING и возвращала значение null.
| array_reduce | Функция теперь выдаст ошибку уровня E_WARNING, если параметр callback-функции ожидает передачу значения по ссылке.
| array_splice | Параметр length теперь принимает значение null.
| array_walk | Теперь функция выдаёт ошибку уровня E_WARNING, если параметр callback ожидает, что значение второго или третьего аргумента передадут по ссылке.
| assert | Функция assert больше не оценивает строковые аргументы, вместо этого строки рассматриваются как любой другой аргумент. Вместо assert('$a == $b') лучше вызывать assert($a == $b). Директиву assert.quiet_eval php.ini и константу ASSERT_QUIET_EVAL тоже удалили, поскольку они больше не дают никакого эффекта.
| assert | При передаче в параметр description экземпляра класса Throwable исключение выбрасывается, если утверждение не прошло проверку, независимо от значения опции assert.exception.
| assert | При передаче в параметр description экземпляра класса Throwable пользовательская callback-функция не вызывается, даже если её установили.
| assert | Объявление пользовательской функции с названием assert() запретили, даже внутри пространства имён. Попытка объявить функцию выдаст ошибку уровня E_COMPILE_ERROR.
| assert_options | Теперь функция выбрасывает исключение ValueError, если в параметр option передали недопустимую опцию; раньше возвращалось значение false.
| bcadd | Параметр scale теперь принимает значение null.
| bccomp | Параметр scale теперь принимает значение null.
| bcdiv | Параметр scale теперь принимает значение null.
| bcdiv | Деление на 0 теперь выбрасывает исключение DivisionByZeroError вместо возврата значения null.
| bcmod | Параметр scale теперь принимает значение null.
| bcmod | Деление на 0 теперь выбрасывает исключение DivisionByZeroError вместо возврата значения null.
| bcmul | Параметр scale теперь принимает значение null.
| bcpow | Функция теперь не усекает показатель степени, а выбрасывает исключение ValueError, когда показатель степени exponent содержит дробную часть.
| bcpowmod | Параметр scale теперь принимает значение null.
| bcpowmod | Функция теперь выбрасывает ошибку ValueError вместо возврата значения false, если показатель степени exponent оказался отрицательным значением.
| bcpowmod | Деление на 0 теперь выбрасывает ошибку DivisionByZeroError вместо возврата значения false.
| bcscale | Параметр scale теперь принимает значение null.
| bcsqrt | Функция выбрасывается ошибку ValueError, если значение аргумента num оказалось строкой, которую сформировали неправильно с точки зрения допустимого формата числовых строк в модуле BCMath, или меньше 0; раньше вместо этого выдавалась ошибка уровня E_WARNING.
| bcsqrt | Допустимый диапазон значений параметра scale теперь лежит в пределах значений от 0 до 2147483647; раньше функция воспринимала отрицательные значения как 0.
| bcsqrt | Параметр scale теперь принимает значение null.
| bcsub | Параметр scale теперь принимает значение null.
| bzdecompress | Тип use_less_memory изменён с int на bool. Ранее значением по умолчанию был 0.
| bzwrite | length теперь допускает значение null.
| call_user_func_array | Ключи параметра args теперь интерпретируются как имена параметров, а не игнорируются.
| ceil | Параметр num больше не принимает внутренние объекты, которые поддерживают числовое преобразование.
| closedir | Параметр dir_handle теперь допускает значение null.
| com_event_sink | sink_interface теперь допускает значение null.
| com_get_active_object | codepage теперь допускает значение null.
| compact | Функция теперь генерирует ошибку уровня E_WARNING, если строка ссылается на переменную, которую не установили.
| constant | Теперь функция constant выбрасывает исключение Error, если константу не определили; раньше выдавалась ошибка уровня E_WARNING и возвращалось значение null.
| convert_cyr_string | Функцию удалили.
| convert_uuencode | До этой версии при попытке преобразовать пустую строку возвращалось false без особой причины.
| count | Теперь функция count выбрасывает исключение TypeError, если в параметр value передали недопустимый исчисляемый тип.
| count_chars | До этой версии функция возвращала false, если возникала ошибка.
| crypt | Параметр salt больше необязателен.
| curl_close | Функция теперь является NOP.
| curl_close | Параметр handle теперь принимает объект CurlHandle; раньше, параметр ждал ресурс (resource).
| curl_copy_handle | Параметр handle теперь принимает объект CurlHandle; раньше, параметр ждал ресурс (resource).
| curl_copy_handle | Функция теперь возвращает экземпляр класса CurlHandle, если выполнилась успешно; раньше возвращался ресурс (resource).
| curl_errno | Параметр handle теперь принимает объект CurlHandle; раньше, параметр ждал ресурс (resource).
| curl_error | Параметр handle теперь принимает объект CurlHandle; раньше, параметр ждал ресурс (resource).
| curl_escape | Параметр handle теперь принимает объект CurlHandle; раньше, параметр ждал ресурс (resource).
| curl_exec | Параметр handle теперь принимает объект CurlHandle; раньше, параметр ждал ресурс (resource).
| curl_getinfo | Параметр handle теперь принимает объект CurlHandle; раньше, параметр ждал ресурс (resource).
| curl_getinfo | Параметр option теперь принимает значение null. раньше значением по умолчанию равнялось 0.
| curl_init | Теперь в случае успешного выполнения функция возвращает экземпляр класса CurlHandle; раньше возвращался ресурс (resource).
| curl_init | Параметр url теперь принимает значение null.
| curl_multi_add_handle | Параметр multi_handle теперь принимает объект CurlMultiHandle; раньше принимался тип resource.
| curl_multi_add_handle | Параметр handle теперь принимает объект CurlHandle; раньше, параметр ждал ресурс (resource).
| curl_multi_close | Параметр multi_handle теперь принимает объект CurlMultiHandle; раньше принимался тип resource.
| curl_multi_errno | Функция больше не возвращает false в случае возникновения ошибки.
| curl_multi_errno | Параметр multi_handle теперь принимает объект CurlMultiHandle; раньше принимался тип resource.
| curl_multi_exec | Параметр multi_handle теперь принимает объект CurlMultiHandle; раньше принимался тип resource.
| curl_multi_getcontent | Параметр handle теперь принимает объект CurlHandle; раньше, параметр ждал ресурс (resource).
| curl_multi_info_read | Параметр multi_handle теперь принимает объект CurlMultiHandle; раньше принимался тип resource.
| curl_multi_init | Теперь в случае успешного выполнения функция возвращает экземпляр класса CurlMultiHandle; раньше возвращался ресурс (resource).
| curl_multi_remove_handle | Параметр multi_handle теперь принимает объект CurlMultiHandle; раньше принимался тип resource.
| curl_multi_remove_handle | Параметр handle теперь принимает объект CurlHandle; раньше, параметр ждал ресурс (resource).
| curl_multi_select | Параметр multi_handle теперь принимает объект CurlMultiHandle; раньше принимался тип resource.
| curl_multi_setopt | Параметр multi_handle теперь принимает объект CurlMultiHandle; раньше принимался тип resource.
| curl_pause | Параметр handle теперь принимает объект CurlHandle; раньше, параметр ждал ресурс (resource).
| curl_reset | Параметр handle теперь принимает объект CurlHandle; раньше, параметр ждал ресурс (resource).
| curl_setopt | Параметр handle теперь принимает объект CurlHandle; раньше, параметр ждал ресурс (resource).
| curl_setopt_array | Параметр handle теперь принимает объект CurlHandle; раньше, параметр ждал ресурс (resource).
| curl_share_close | Функция стала NOP (англ. No Operation) и ни на что не влияет.
| curl_share_close | Параметр share_handle теперь принимает объект CurlShareHandle; рарьше параметр ждал ресурс (resource).
| curl_share_errno | Функция больше не возвращает false в случае возникновения ошибки.
| curl_share_errno | Параметр share_handle теперь принимает объект CurlShareHandle; рарьше параметр ждал ресурс (resource).
| curl_share_init | Функция возвращает экземпляр класса CurlShareHandle; раньше возвращался ресурс (resource).
| curl_share_setopt | Параметр share_handle теперь принимает объект CurlShareHandle; рарьше параметр ждал ресурс (resource).
| curl_unescape | Параметр handle теперь принимает объект CurlHandle; раньше, параметр ждал ресурс (resource).
| curl_version | Удалили необязательный параметр age.
| date | Параметр timestamp теперь принимает значение null.
| date_sunrise | Параметры latitude, longitude, zenith и utcOffset теперь принимают значение null.
| date_sunset | Параметры latitude, longitude, zenith и utcOffset теперь принимают значение null.
| define | При передаче значения true в параметр case_insensitive теперь возникает ошибка уровня E_WARNING. Передача значения false по-прежнему возможна.
| deflate_add | context ожидает экземпляр DeflateContext; раньше, ожидался ресурс (resource).
| deflate_init | В случае успешного выполнения функция возвращает экземпляр DeflateContext; раньше, возвращался ресурс (resource).
| dir | context теперь допускает значение null.
| dom_import_simplexml | Функция больше не возвращает null в случае возникновения ошибки.
| easter_date | Параметр year теперь принимает значение null.
| easter_date | Функция выбрасывает ошибку ValueError, если значение параметра year выходит за пределы допустимого диапазона. Раньше вызывалась ошибка уровня E_WARNING и функция возвращала false.
| easter_days | year теперь допускает значение null.
| enchant_broker_describe | Параметр broker ожидает экземпляр класса EnchantBroker; Раньше параметр ждал ресурс (resource).
| enchant_broker_describe | До этой версии функция возвращала false в случае возникновения ошибки.
| enchant_broker_dict_exists | Параметр broker ожидает экземпляр класса EnchantBroker; Раньше параметр ждал ресурс (resource).
| enchant_broker_free | Функция устарела в пользу удаления объекта.
| enchant_broker_free | Параметр broker ожидает экземпляр класса EnchantBroker; Раньше параметр ждал ресурс (resource).
| enchant_broker_free_dict | Функция устарела в пользу удаления объекта.
| enchant_broker_free_dict | Параметр dictionary теперь ожидает экземпляр класса EnchantDictionary; раньше ожидался ресурс (resource).
| enchant_broker_get_dict_path | Функция устарела.
| enchant_broker_get_dict_path | Параметр broker ожидает экземпляр класса EnchantBroker; Раньше параметр ждал ресурс (resource).
| enchant_broker_get_error | Параметр broker ожидает экземпляр класса EnchantBroker; Раньше параметр ждал ресурс (resource).
| enchant_broker_init | В случае успешного выполнения функция возвращает экземпляр EnchantBroker; Ранее возвращался ресурс (resource).
| enchant_broker_list_dicts | Параметр broker ожидает экземпляр класса EnchantBroker; Раньше параметр ждал ресурс (resource).
| enchant_broker_list_dicts | До этой версии функция возвращала false в случае возникновения ошибки.
| enchant_broker_request_dict | Параметр broker ожидает экземпляр класса EnchantBroker; Раньше параметр ждал ресурс (resource).
| enchant_broker_request_dict | При успешном выполнении функция теперь возвращает экземпляр класса EnchantDictionary; раньше возвращался ресурс (resource).
| enchant_broker_request_pwl_dict | Параметр broker ожидает экземпляр класса EnchantBroker; Раньше параметр ждал ресурс (resource).
| enchant_broker_request_pwl_dict | В случае успешного выполнения функция возвращает экземпляр EnchantDictionary; Ранее возвращался ресурс (resource).
| enchant_broker_set_dict_path | Функция устарела.
| enchant_broker_set_dict_path | Параметр broker ожидает экземпляр класса EnchantBroker; Раньше параметр ждал ресурс (resource).
| enchant_broker_set_ordering | Параметр broker ожидает экземпляр класса EnchantBroker; Раньше параметр ждал ресурс (resource).
| enchant_dict_add | Параметр dictionary ожидает экземпляр класса EnchantDictionary; Раньше параметр ждал ресурс (resource).
| enchant_dict_add_to_session | Параметр dictionary ожидает экземпляр класса EnchantDictionary; Раньше параметр ждал ресурс (resource).
| enchant_dict_check | Параметр dictionary ожидает экземпляр класса EnchantDictionary; Раньше параметр ждал ресурс (resource).
| enchant_dict_describe | Параметр dictionary ожидает экземпляр класса EnchantDictionary; Раньше параметр ждал ресурс (resource).
| enchant_dict_describe | До этой версии функция возвращала false, если возникла ошибка.
| enchant_dict_get_error | Параметр dictionary ожидает экземпляр класса EnchantDictionary; Раньше параметр ждал ресурс (resource).
| enchant_dict_is_added | Параметр dictionary ожидает экземпляр класса EnchantDictionary; Раньше параметр ждал ресурс (resource).
| enchant_dict_quick_check | Параметр dictionary ожидает экземпляр класса EnchantDictionary; Раньше параметр ждал ресурс (resource).
| enchant_dict_store_replacement | Параметр dictionary ожидает экземпляр класса EnchantDictionary; Раньше параметр ждал ресурс (resource).
| enchant_dict_suggest | Параметр dictionary ожидает экземпляр класса EnchantDictionary; Раньше параметр ждал ресурс (resource).
| error_log | Параметры destination и additional_headers теперь принимают значение null.
| error_reporting | Параметр error_level теперь принимает значение null.
| exec | Теперь функция exec выбрасывает исключение ValueError, если параметр command не указали или параметр содержит нулевые байты; раньше функция выдавала ошибку уровня E_WARNING и возвращала false.
| exif_read_data | required_sections теперь допускает значение null.
| explode | Теперь функция explode выбрасывает исключение TypeError, если разделитель separator — пустая строка "". Раньше функция explode вместо исключения возвращала false.
| ezmlm_hash | Функцию удалили.
| fgetcsv | Параметр length теперь принимает значение null.
| file_get_contents | Параметр length теперь принимает значение null.
| finfo_buffer | context теперь допускает значение null.
| finfo_file | context теперь допускает значение null.
| floatval | Уровень ошибки при преобразовании из объекта изменился с E_NOTICE на E_WARNING.
| floor | Параметр num больше не принимает внутренние объекты, которые поддерживают числовое преобразование.
| fprintf | Функция больше не возвращает false, если возникла ошибка.
| fprintf | Выбрасывает исключение ValueError, если количество аргументов равно нулю; раньше функция выдавала ошибку уровня E_WARNING.
| fprintf | Выбрасывает исключение ValueError, если [width] меньше нуля или больше PHP_INT_MAX; раньше функция выдавала ошибку уровня E_WARNING.
| fprintf | Выбрасывает исключение ValueError, если [precision] меньше нуля или больше PHP_INT_MAX; раньше функция выдавала ошибку уровня E_WARNING.
| fprintf | Выбрасывает исключение ArgumentCountError, если аргументов задано меньше, чем требуется; раньше функция выдавала ошибку уровня E_WARNING.
| fsockopen | Параметр timeout теперь принимает значение null.
| fwrite | Параметр length теперь принимает значение null.
| get_called_class | При вызове функции извне класса теперь выбрасывается исключение Error. Раньше функция выдавала ошибку уровня E_WARNING и возвращала значение false.
| get_class | Вызов функции вне класса без аргументов выбрасывает ошибку Error. Раньше функция выдавала ошибку уровня E_WARNING и возвращала значение false.
| get_class_methods | Теперь параметр object_or_class принимает только объекты или корректные имена классов.
| get_defined_functions | Значение по умолчанию для параметра exclude_disabled изменили с false на true, но это не повлияет на результат, поскольку отключенные функции удаляются из таблицы функций при компиляции.
| get_headers | Тип параметра associative был изменён с целого числа (int) на логическое значение (bool).
| get_magic_quotes_gpc | Функцию удалили.
| get_magic_quotes_runtime | Функцию удалили.
| get_parent_class | Параметр object_or_class теперь принимает только объекты или корректные имена классов.
| get_resources | type теперь допускает значение null.
| getdate | Параметр timestamp теперь принимает значение null.
| getenv | Параметр name теперь принимает значение null.
| getimagesize | Функция теперь выбрасывает ошибку ValueError, если в параметр filename передали пустую строку; раньше выдавалась ошибка уровня E_WARNING, и функция возвращала значение false.
| gmdate | Параметр timestamp теперь принимает значение null.
| gmmktime | Параметр hour стал обязательным. Метку времени Unix без передачи аргументов возвращает функция time.
| gmmktime | Параметры minute, second, month, day и year теперь принимают значение null.
| gmp_binomial | Функция больше не возвращает false в случае возникновения ошибки.
| gmp_export | Функция больше не возвращает false в случае возникновения ошибки.
| gmp_import | Функция больше не возвращает false в случае возникновения ошибки.
| gmp_random_seed | Если параметр seed указан некорректно, функция gmp_random_seed теперь выбрасывает ValueError; ранее выдавалась ошибка уровня E_WARNING и возвращалось значение false.
| gmstrftime | Параметр timestamp теперь принимает значение null.
| grapheme_substr | Функция теперь автоматически уменьшает или увеличивает значение смещения, которое выходит за пределы строки; раньше при выходе смещения за границы строки вместо пустой строки возвращалось значение false.
| gzgets | length теперь допускает значение null; ранее значение по умолчанию было 1024.
| gzwrite | length теперь допускает значение null; раньше значением по умолчанию был 0.
| hash | Функция теперь выбрасывает исключение ValueError, если алгоритм algo неизвестен; раньше вместо этого возвращалось значение false и выдавалось сообщение об ошибке уровня E_WARNING.
| hash_hkdf | Функция при ошибке теперь выбрасывает ошибку ValueError; раньше выдавалась ошибка уровня E_WARNING и возвращалось значение false.
| hash_hmac | Функция теперь выбрасывает ошибку ValueError, если в параметр algo передали название неизвестной или некриптографической хеш-функции; раньше вместо этого возвращалось значение false и выдавалось сообщение об ошибке уровня E_WARNING.
| hash_hmac_file | Функция теперь выбрасывает исключение ValueError, если алгоритм algo неизвестен или не криптографическая хеш-функция; раньше вместо этого возвращалось значение false и выдавалось сообщение об ошибке уровня E_WARNING.
| hash_init | Теперь функция выбрасывает исключение ValueError, если параметр algo неизвестен или не криптографическая хеш-функция, или если параметр key пуст; раньше возвращалось значение false и выдавалась ошибка уровня E_WARNING. emitted.
| hash_pbkdf2 | Теперь выбрасывается исключение ValueError, если возникла ошибка; раньше функция возвращала false и выдавала ошибку уровня E_WARNING.
| hash_update_file | Параметр stream_context теперь принимает значение null.
| header_remove | name теперь допускает значение null.
| hebrevc | Функцию удалили.
| html_entity_decode | Параметр encoding теперь принимает значение null.
| htmlentities | Параметр encoding теперь принимает значение null.
| http_build_query | Параметр arg_separator теперь допускает значение null.
| iconv_mime_decode | encoding теперь допускает значение null.
| iconv_mime_decode_headers | encoding теперь допускает значение null.
| iconv_strlen | Параметр encoding теперь принимает значение null.
| iconv_strpos | encoding теперь допускает значение null.
| iconv_strrpos | encoding теперь допускает значение null.
| iconv_substr | length и encoding теперь допускают значение null.
| idate | Параметр timestamp теперь принимает значение null.
| ignore_user_abort | Параметр enable теперь принимает значение null.
| imageaffine | clip теперь допускает значение null.
| imageaffine | В случае успешного выполнения функция теперь возвращает экземпляр GDImage; ранее возвращался ресурс (resource).
| imagealphablending | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imageantialias | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagearc | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagebmp | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagebmp | Параметр compressed теперь принадлежит логическому значению bool; раньше параметр был целым числом (int).
| imagechar | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagecharup | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagecolorallocate | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagecolorallocatealpha | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagecolorat | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagecolorclosest | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagecolorclosesthwb | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagecolordeallocate | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagecolorexact | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagecolorexactalpha | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagecolormatch | Параметры image1 и image2 теперь ожидают экземпляр класса GdImage; раньше ожидался тип resource.
| imagecolorresolve | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagecolorresolvealpha | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagecolorset | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagecolorsforindex | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagecolorsforindex | Функция imagecolorsforindex теперь выбрасывает исключение ValueError, если параметр color вне допустимого диапазона; ранее вместо этого возвращалось значение false.
| imagecolorstotal | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagecolortransparent | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagecolortransparent | Параметр color теперь принимает значение null.
| imageconvolution | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagecopy | Параметр dst_image и src_image теперь ожидают объект GdImage; раньше параметры ожидали тип resource.
| imagecopymerge | Параметры dst_image и src_image теперь ожидают объект GdImage; раньше параметры ожидали тип resource.
| imagecopymergegray | Параметры dst_image и src_image теперь ожидают объект GdImage; раньше параметры ожидали тип resource.
| imagecopyresampled | Параметры dst_image и src_image теперь принимают объект GdImage; раньше принимался тип resource.
| imagecopyresized | Параметры dst_image и src_image теперь принимают объект GdImage; раньше принимался тип resource.
| imagecreate | В случае успешного выполнения функция теперь возвращает экземпляр GDImage; ранее возвращался ресурс (resource).
| imagecreatefrombmp | Функция теперь возвращает экземпляр GDImage, если выполнилась успешно; раньше возвращался ресурс (resource).
| imagecreatefromgd | Функция теперь возвращает экземпляр GDImage, если выполнилась успешно; раньше возвращался ресурс (resource).
| imagecreatefromgd2 | Функция теперь возвращает экземпляр класса GDImage, если выполнилась успешно; раньше возвращался ресурс (resource).
| imagecreatefromgd2part | Функция теперь возвращает экземпляр класса GDImage, если выполнилась успешно; раньше возвращался ресурс (resource).
| imagecreatefromgif | Функция теперь возвращает экземпляр класса GDImage, если выполнилась успешно; раньше возвращался ресурс (resource).
| imagecreatefromjpeg | Функция теперь возвращает экземпляр класса GDImage, если выполнилась успешно; раньше возвращался ресурс (resource).
| imagecreatefrompng | Функция теперь возвращает экземпляр класса GDImage, если выполнилась успешно; раньше возвращался ресурс (resource).
| imagecreatefromstring | Функция теперь возвращает экземпляр класса GDImage, если выполнилась успешно; раньше функция возвращала ресурс (resource).
| imagecreatefromtga | В случае успешного выполнения функция теперь возвращает экземпляр GDImage; ранее возвращался ресурс (resource).
| imagecreatefromwbmp | Функция теперь возвращает экземпляр класса GDImage, если выполнилась успешно; раньше возвращался ресурс (resource).
| imagecreatefromwebp | Функция теперь возвращает экземпляр класса GDImage, если выполнилась успешно; раньше возвращался ресурс (resource).
| imagecreatefromxbm | Функция теперь возвращает экземпляр класса GDImage, если выполнилась успешно; раньше возвращался ресурс (resource).
| imagecreatefromxpm | Функция теперь возвращает экземпляр класса GDImage, если выполнилась успешно; раньше возвращался ресурс (resource).
| imagecreatetruecolor | Функция теперь возвращает экземпляр класса GDImage, если выполнилась успешно; раньше функция возвращала ресурс (resource).
| imagecrop | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagecrop | Функция теперь возвращает экземпляр класса GDImage, если выполнилась успешно; раньше возвращался ресурс (resource).
| imagecropauto | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagecropauto | Функция теперь возвращает объект класса GDImage, если выполнилась успешно; раньше возвращался ресурс (resource).
| imagedashedline | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagedestroy | Функция стала NOP (англ. No Operation) и ни на что не влияет.
| imagedestroy | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imageellipse | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagefill | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagefilledarc | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagefilledellipse | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagefilledpolygon | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagefilledrectangle | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagefilltoborder | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagefilter | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imageflip | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagefttext | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagegammacorrect | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagegd | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagegd2 | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagegetclip | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagegetinterpolation | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagegif | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagegrabscreen | Функция теперь возвращает экземпляр класса GDImage, если выполнилась успешно; раньше возвращался ресурс (resource).
| imagegrabwindow | Функция теперь возвращает экземпляр класса GDImage, если выполнилась успешно; раньше возвращался ресурс (resource).
| imagegrabwindow | Параметр client_area теперь ожидает логическое значение bool; раньше ожидалось значение с типом int.
| imageinterlace | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imageinterlace | Параметр enable теперь ожидает значение с типом bool; раньше ожидалось значение с типом int.
| imageistruecolor | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagejpeg | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagelayereffect | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imageline | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imageopenpolygon | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagepalettecopy | Параметры dst и src теперь ожидают экземпляр класса GdImage; раньше ожидался ресурс (resource).
| imagepalettetotruecolor | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagepng | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagepolygon | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagerectangle | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imageresolution | Параметры resolution_x и resolution_y теперь принимают значение null.
| imagerotate | Функция теперь возвращает экземпляр класса GDImage, если выполнилась успешно; раньше возвращался ресурс (resource).
| imagerotate | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagerotate | Ненужный параметр v теперь ожидает значение с типом bool; раньше ожидалось значение с типом int.
| imagesavealpha | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagescale | В случае успешного выполнения функция теперь возвращает экземпляр GDImage; ранее возвращался ресурс (resource).
| imagescale | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagesetbrush | Параметры image и brush теперь принимают объект GdImage; раньше принимался тип resource.
| imagesetclip | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagesetinterpolation | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagesetpixel | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagesetthickness | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagesettile | Параметры image и tile теперь принимают объект GdImage; раньше принимался тип resource.
| imagestring | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagestringup | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagesx | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagesy | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagetruecolortopalette | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagettfbbox | Добавили параметр options.
| imagettftext | Добавили параметр options.
| imagewbmp | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagewbmp | Параметр foreground_color теперь принимает значение null.
| imagewebp | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagexbm | Параметр image теперь принимает объект GdImage; раньше параметр принимал корректный gd-ресурс (resource).
| imagexbm | Параметр foreground_color теперь принимает значение null.
| imagexbm | Удалили четвёртый параметр, который функция не учитывала.
| implode | Функция больше не поддерживает передачу разделителя separator после массива array.
| inflate_add | context ожидает экземпляр InflateContext; раньше, ожидался ресурс (resource).
| inflate_get_read_len | context ожидает экземпляр InflateContext; раньше, ожидался ресурс (resource).
| inflate_get_status | context ожидает экземпляр InflateContext; раньше, ожидался ресурс (resource).
| inflate_init | В случае успешного выполнения функция возвращает экземпляр InflateContext; раньше возвращался ресурс (resource).
| intval | Уровень ошибки при преобразовании из объекта изменился с E_NOTICE на E_WARNING.
| is_numeric | Числовые строки, которые заканчиваются пробелом ("42 "), теперь вернут true. Раньше вместо этого возвращалось false.
| jdtounix | Функция больше не возвращает false в случае возникновения ошибки, вместо этого выбрасывает ValueError.
| ldap_add | Параметр controls теперь допускает значение null; раньше значение по умолчанию равнялось [].
| ldap_add_ext | Параметр controls теперь допускает значение null; раньше значение по умолчанию равнялось [].
| ldap_bind_ext | Параметр controls теперь допускает значение null; раньше значение по умолчанию равнялось [].
| ldap_compare | Параметр controls теперь допускает значение null; раньше значение по умолчанию равнялось [].
| ldap_control_paged_result | Функция была удалена.
| ldap_control_paged_result_response | Функция была удалена.
| ldap_delete | Параметр controls теперь допускает значение null; раньше значение по умолчанию равнялось [].
| ldap_delete_ext | Параметр controls теперь допускает значение null; раньше значение по умолчанию равнялось [].
| ldap_exop_passwd | Параметр controls теперь допускает значение null; раньше значение по умолчанию равнялось [].
| ldap_first_attribute | Неиспользуемый третий параметр ber_identifier больше не принимается.
| ldap_list | Параметр controls теперь допускает значение null; раньше значение по умолчанию равнялось [].
| ldap_mod_add | Параметр controls теперь допускает значение null; раньше значение по умолчанию равнялось [].
| ldap_mod_del | Параметр controls теперь допускает значение null; раньше значение по умолчанию равнялось [].
| ldap_mod_replace | Параметр controls теперь допускает значение null; раньше значение по умолчанию равнялось [].
| ldap_modify_batch | Параметр controls теперь допускает значение null; раньше значение по умолчанию равнялось [].
| ldap_mod_add_ext | Параметр controls теперь допускает значение null; раньше значение по умолчанию равнялось [].
| ldap_mod_del_ext | Параметр controls теперь допускает значение null; раньше значение по умолчанию равнялось [].
| ldap_mod_replace_ext | Параметр controls теперь допускает значение null; раньше значение по умолчанию равнялось [].
| ldap_next_attribute | Неиспользуемый третий параметр ber_identifier больше не принимается.
| ldap_read | Параметр controls теперь допускает значение null; раньше значение по умолчанию равнялось [].
| ldap_rename | Параметр controls теперь допускает значение null; раньше значение по умолчанию равнялось [].
| ldap_rename_ext | Параметр controls теперь допускает значение null; раньше значение по умолчанию равнялось [].
| ldap_sasl_bind | Параметры dn, password, mech, realm, authc_id, authz_id и props теперь принимают значение null.
| ldap_search | Параметр controls теперь допускает значение null; раньше значение по умолчанию равнялось [].
| ldap_set_rebind_proc | callback теперь допускает значение null.
| ldap_sort | Функция была удалена.
| levenshtein | До этой версии levenshtein нужно было вызывать с двумя или пятью аргументами.
| levenshtein | До этой версии, levenshtein возвращала значение -1, если одна из строк аргумента более 255 символов.
| libxml_disable_entity_loader | Функция устарела.
| libxml_use_internal_errors | use_errors теперь допускает значение null. Ранее значением по умолчанию было false.
| localtime | Параметр timestamp теперь принимает значение null.
| max | Функция max теперь выбрасывает исключение ValueError, если возникла ошибка; раньше возвращалось значение false и выдавалась ошибка уровня E_WARNING.
| max | Поскольку сравнения строк с числами изменились, функция max больше не возвращает другое значение в зависимости от порядка аргументов для таких случаев.
| mb_check_encoding | Параметры value и encoding могут принимать значение null.
| mb_chr | Параметр encoding теперь принимает значение null.
| mb_convert_encoding | Функция mb_convert_encoding теперь выбрасывает ошибку ValueError при передаче в параметр to_encoding недопустимой кодировки.
| mb_convert_encoding | Функция mb_convert_encoding теперь выбрасывает ошибку ValueError при передаче в параметр from_encoding недопустимой кодировки.
| mb_convert_encoding | Параметр from_encoding теперь принимает значение null.
| mb_convert_kana | Параметр encoding теперь принимает значение null.
| mb_decode_numericentity | Параметр encoding теперь принимает значение null.
| mb_detect_order | Параметр encoding теперь принимает значение null.
| mb_encode_mimeheader | Параметры charset и transfer_encoding теперь принимают значение null.
| mb_encode_numericentity | Параметр encoding теперь принимает значение null.
| mb_encoding_aliases | Если параметр encoding неизвестен, теперь выбрасывается исключение ValueError; раньше функция выдавала ошибку уровня E_WARNING и возвращала false.
| mb_ereg | Теперь в случае успешного завершения эта функция возвращает true. Раньше она возвращала байтовую длину найденного вхождения, если в строке string было найдено совпадение шаблону pattern и был установлен параметр matches. Если необязательный параметр matches не был задан или длина проверяемой строки равнялась 0, функция возвращала 1.
| mb_ereg_match | Параметр options теперь принимает значение null.
| mb_ereg_replace | Параметр options теперь может принимать значение null.
| mb_ereg_replace_callback | Параметр options теперь может принимать значение null.
| mb_ereg_search | Параметры pattern и options теперь могут принимать значение null.
| mb_ereg_search_init | Параметры pattern и options теперь могут принимать значение null.
| mb_ereg_search_pos | Параметры pattern и options теперь могут принимать значение null.
| mb_ereg_search_regs | Параметры pattern и options теперь могут принимать значение null.
| mb_eregi | Теперь эта функция возвращает true в случае успешного выполнения. Раньше, если был задан параметр matches и в строке string было найдено вхождение шаблона pattern, возвращалась длинна найденной подстроки в байтах. Если параметр matches не задавался или длина найденной подстроки равнялась 0, функция возвращала 1.
| mb_eregi_replace | Параметр options теперь может принимать значение null.
| mb_get_info | Параметр type больше не поддерживает значения "func_overload" и "func_overload_list".
| mb_http_input | Параметр type теперь может принимать значение null.
| mb_http_output | Параметр encoding теперь принимает значение null.
| mb_internal_encoding | Параметр encoding теперь принимает значение null.
| mb_internal_encoding | Теперь функция выбрасывает исключение ValueError, если в параметр encoding передали недопустимое значение кодировки. Раньше вместо этого функция выдавала ошибку уровня E_WARNING.
| mb_language | Теперь параметр language может принимать значение null.
| mb_ord | Параметр encoding теперь принимает значение null.
| mb_parse_str | Второй параметр стал обязательным.
| mb_regex_encoding | Параметр encoding теперь принимает значение null.
| mb_regex_set_options | Если параметр options задан и не равен null, возвращаются предыдущие параметры. Ранее возвращались текущие параметры.
| mb_regex_set_options | Параметр options теперь может принимать значение null.
| mb_regex_set_options | Опция «e» теперь выбрасывает исключение ValueError.
| mb_scrub | Параметр encoding теперь принимает значение null.
| mb_send_mail | Теперь параметр additional_params может принимать значение null.
| mb_str_split | Параметр encoding теперь принимает значение null.
| mb_str_split | Функция больше не возвращает false, если возникла ошибка.
| mb_strcut | Параметр encoding теперь принимает значение null.
| mb_strimwidth | Параметр encoding теперь принимает значение null.
| mb_stripos | needle теперь принимает пустую строку.
| mb_stripos | Параметр encoding теперь принимает значение null.
| mb_stristr | needle теперь принимает пустую строку.
| mb_stristr | Параметр encoding теперь принимает значение null.
| mb_strlen | Параметр encoding теперь принимает значение null.
| mb_strpos | needle теперь принимает пустую строку.
| mb_strpos | Параметр encoding теперь принимает значение null.
| mb_strrchr | needle теперь принимает пустую строку.
| mb_strrchr | Параметр encoding теперь принимает значение null.
| mb_strrichr | needle теперь принимает пустую строку.
| mb_strrichr | Параметр encoding теперь принимает значение null.
| mb_strripos | needle теперь принимает пустую строку.
| mb_strripos | Параметр encoding теперь принимает значение null.
| mb_strrpos | needle теперь принимает пустую строку.
| mb_strrpos | Запретили передачу названия кодировки для параметра encoding в третьем аргументе вместо параметра offset.
| mb_strrpos | Параметр encoding теперь принимает значение null.
| mb_strstr | needle теперь принимает пустую строку.
| mb_strstr | Параметр encoding теперь принимает значение null.
| mb_strwidth | Параметр encoding теперь принимает значение null.
| mb_substitute_character | Передача пустой строки в параметр substitute_character больше не поддерживается; вместо этого передают значение "none".
| mb_substitute_character | Параметр encoding теперь принимает значение null.
| mb_substr | Параметр encoding теперь принимает значение null.
| mb_substr_count | Параметр encoding теперь принимает значение null.
| metaphone | Функция возвращала false в случае возникновения ошибки.
| mhash | Параметр key теперь принимает значение null.
| min | Функция min теперь выбрасывает ошибку ValueError, если возникла ошибка; раньше возвращалось значение false и выдавалась ошибка уровня E_WARNING.
| min | При сравнении разнотипных значений функция min теперь возвращает наименьшее значение по правилам сравнения, а не на основании порядка аргументов, поскольку правила сравнения строк с числами изменили.
| mktime | Параметр hour стал обязательным. Функция time возвращает метку времени Unix без аргументов.
| mktime | Параметры minute, second, month, day и year теперь принимают значение null.
| money_format | Функцию удалили.
| msg_get_queue | В случае успешного выполнения функция теперь возвращает экземпляр класса SysvMessageQueue; раньше возвращался ресурс (resource).
| msg_receive | Параметр queue теперь ожидает экземпляр класса SysvMessageQueue; раньше ожидался ресурс (resource).
| msg_remove_queue | Параметр queue теперь ожидает экземпляр класса SysvMessageQueue; раньше ожидался ресурс (resource).
| msg_send | Параметр queue теперь ожидает экземпляр класса SysvMessageQueue; раньше ожидался ресурс (resource).
| msg_set_queue | Параметр queue теперь ожидает экземпляр класса SysvMessageQueue; раньше ожидался ресурс (resource).
| msg_stat_queue | Параметр queue теперь ожидает экземпляр класса SysvMessageQueue; раньше ожидался ресурс (resource).
| mt_rand | Функция выбросит ошибку ValueError, если значение параметра max окажется меньше значения параметра min; раньше функция выдавала ошибку уровня E_WARNING и возвращала значение false.
| number_format | До этой версии функция number_format принимала один, два или четыре параметр, но не три.
| ob_implicit_flush | Параметр enable теперь принимает значение с типом bool; раньше принималось значение с типом int.
| odbc_columns | Параметры schema, table и column теперь принимают значение null.
| odbc_error | Параметр odbc теперь принимает значение null.
| odbc_errormsg | Параметр odbc теперь принимает значение null.
| odbc_exec | Параметр flags удалили.
| odbc_execute | Параметр flags удалили.
| odbc_fetch_row | Параметр row теперь принимает значение null.
| odbc_procedurecolumns | До этой версии функцию разрешалось вызывать только с одним или пятью аргументами.
| odbc_procedures | До этой версии функцию разрешалось вызывать только с одним или четырьмя аргументами.
| odbc_tables | Параметры schema, table и types теперь принимают значение null.
| opendir | Параметр context теперь допускает значение null.
| openssl_csr_export | csr теперь принимает экземпляр OpenSSLCertificateSigningRequest; ранее принимался ресурс (resource) типа OpenSSL X.509 CSR.
| openssl_csr_export_to_file | csr теперь принимает экземпляр OpenSSLCertificateSigningRequest; ранее принимался ресурс (resource) типа OpenSSL X.509 CSR.
| openssl_csr_get_public_key | В случае успешного выполнения возвращает экземпляр OpenSSLAsymmetricKey; ранее возвращался ресурс (resource) типа OpenSSL key.
| openssl_csr_get_public_key | csr теперь принимает экземпляр OpenSSLCertificateSigningRequest; ранее принимался ресурс (resource) типа OpenSSL X.509 CSR.
| openssl_csr_get_subject | csr теперь принимает экземпляр OpenSSLCertificateSigningRequest; ранее принимался ресурс (resource) типа OpenSSL X.509 CSR.
| openssl_csr_new | csr теперь принимает экземпляр OpenSSLCertificateSigningRequest; ранее принимался ресурс (resource) типа OpenSSL X.509 CSR.
| openssl_csr_new | private_key теперь принимает экземпляр OpenSSLAsymmetricKey; ранее принимался ресурс (resource) типа OpenSSL key.
| openssl_csr_sign | On success, this function returns an OpenSSLCertificate instance now; previously, a resource of type OpenSSL X.509 was returned.
| openssl_csr_sign | csr теперь принимает экземпляр OpenSSLCertificateSigningRequest; ранее принимался ресурс (resource) типа OpenSSL X.509 CSR.
| openssl_csr_sign | ca_certificate теперь принимает экземпляр OpenSSLCertificate; ранее принимался ресурс (resource) типа OpenSSL X.509 CSR.
| openssl_csr_sign | private_key теперь принимает экземпляр OpenSSLAsymmetricKey; ранее принимался ресурс (resource) типа OpenSSL X.509 CSR.
| openssl_dh_compute_key | Параметр private_key теперь принимает экземпляр OpenSSLAsymmetricKey; раньше принимался ресурс (resource) типа OpenSSL X.509 CSR.
| openssl_free_key | Функция устарела, поскольку больше не имеет смысла.
| openssl_free_key | Параметр key теперь принимает экземпляр класса OpenSSLAsymmetricKey; раньше параметр принимал ресурс (resource) с типом OpenSSL key.
| openssl_open | Параметр private_key теперь принимает экземпляр OpenSSLAsymmetricKey или OpenSSLCertificate; раньше принимался ресурс (resource) с типом OpenSSL key или OpenSSL X.509 CSR.
| openssl_open | Параметр cipher_algo теперь обязателен.
| openssl_pkcs7_decrypt | Параметр private_key теперь принимает экземпляр класса OpenSSLAsymmetricKey или OpenSSLCertificate; раньше принимался ресурс (resource), который принадлежал типу OpenSSL key или OpenSSL X.509 CSR.
| openssl_pkcs7_encrypt | Параметр certificate теперь принимает экземпляр класса OpenSSLCertificate; раньше принимался ресурс (resource), который принадлежал типу OpenSSL X.509 CSR.
| openssl_pkcs7_sign | Параметр certificate теперь принимает экземпляр класса OpenSSLCertificate; раньше принимался ресурс (resource), который принадлежит типу OpenSSL X.509 CSR.
| openssl_pkcs7_sign | Параметр private_key теперь принимает экземпляр класса OpenSSLAsymmetricKey или OpenSSLCertificate; раньше принимался ресурс (resource), который принадлежит типу OpenSSL key или OpenSSL X.509 CSR.
| openssl_pkcs7_verify | Параметры signers_certificates_filename, untrusted_certificates_filename, content и output_filename теперь принимают значение null.
| openssl_pkcs12_export | Параметр certificate теперь принимает экземпляр OpenSSLCertificate; ранее принимался ресурс (resource) типа OpenSSL X.509 CSR.
| openssl_pkcs12_export | Параметр private_key теперь принимает экземпляр OpenSSLAsymmetricKey или OpenSSLCertificate; раньше принимался ресурс (resource) типа OpenSSL key или OpenSSL X.509.
| openssl_pkcs12_export_to_file | Параметр certificate теперь принимает экземпляр OpenSSLCertificate; ранее принимался ресурс (resource) типа OpenSSL X.509 CSR.
| openssl_pkcs12_export_to_file | Параметр private_key теперь принимает экземпляр OpenSSLAsymmetricKey или OpenSSLCertificate; раньше принимался ресурс (resource) типа OpenSSL key или OpenSSL X.509.
| openssl_pkey_export | Параметр key теперь принимает экземпляр OpenSSLAsymmetricKey или OpenSSLCertificate; раньше принимался ресурс (resource) типа OpenSSL key или OpenSSL X.509.
| openssl_pkey_export_to_file | Параметр key теперь принимает экземпляр OpenSSLAsymmetricKey или OpenSSLCertificate; раньше принимался ресурс (resource) типа OpenSSL key или OpenSSL X.509.
| openssl_pkey_free | Функция устарела, поскольку больше ни на что не влияет.
| openssl_pkey_free | Параметр key теперь принимает экземпляр класса OpenSSLAsymmetricKey; раньше принимался ресурс (resource), который принадлежит типу OpenSSL key.
| openssl_pkey_get_details | key теперь принимает экземпляр OpenSSLAsymmetricKey; ранее принимался ресурс (resource) типа OpenSSL key.
| openssl_pkey_get_private | В случае успешного выполнения функция возвращает экземпляр OpenSSLAsymmetricKey; раньше возвращался ресурс (resource) типа OpenSSL key.
| openssl_pkey_get_private | Параметр private_key теперь принимает экземпляр OpenSSLAsymmetricKey или OpenSSLCertificate; раньше принимался ресурс (resource) типа OpenSSL key или OpenSSL X.509.
| openssl_pkey_get_private | Параметр passphrase теперь принимает значение null.
| openssl_pkey_get_public | В случае успешного выполнения функция возвращает экземпляр OpenSSLAsymmetricKey; ранее возвращался ресурс (resource) типа OpenSSL key.
| openssl_pkey_get_public | public_key теперь принимает экземпляр OpenSSLAsymmetricKey или OpenSSLCertificate; ранее принимался ресурс (resource) типа OpenSSL key или OpenSSL X.509.
| openssl_pkey_new | В случае успешного выполнения функция возвращает экземпляр OpenSSLAsymmetricKey; раньше возвращался ресурс (resource) типа OpenSSL key.
| openssl_private_decrypt | Параметрprivate_key теперь принимает экземпляр класса OpenSSLAsymmetricKey или OpenSSLCertificate; раньше принимался ресурс (resource) типа OpenSSL key или OpenSSL X.509.
| openssl_private_encrypt | Параметр private_key теперь принимает экземпляр OpenSSLAsymmetricKey или OpenSSLCertificate; раньше принимался ресурс (resource) типа OpenSSL key или OpenSSL X.509.
| openssl_public_decrypt | Параметрpublic_key теперь принимает экземпляр OpenSSLAsymmetricKey или OpenSSLCertificate; раньше принимался ресурс (resource) типа OpenSSL key или OpenSSL X.509.
| openssl_public_encrypt | Параметр public_key теперь принимает экземпляр класса OpenSSLAsymmetricKey или OpenSSLCertificate; раньше принимался ресурс (resource) типа OpenSSL key или OpenSSL X.509.
| openssl_random_pseudo_bytes | strong_result теперь допускает значение null.
| openssl_seal | Параметр public_key теперь принимает массив (array) экземпляров класса OpenSSLAsymmetricKey; раньше принимался массив (array) ресурсов (resource) с типом OpenSSL key.
| openssl_seal | Параметр cipher_algo теперь обязательный параметр.
| openssl_seal | Параметр iv теперь принимает значение null.
| openssl_sign | Параметр private_key теперь принимает экземпляр класса OpenSSLAsymmetricKey или OpenSSLCertificate; раньше принимался ресурс (resource) типа OpenSSL key или OpenSSL X.509.
| openssl_spki_new | Параметр private_key теперь принимает экземпляр класса OpenSSLAsymmetricKey; раньше принимался ресурс (resource) с типом OpenSSL key.
| openssl_verify | Параметр public_key теперь принимает экземпляр класса OpenSSLAsymmetricKey или OpenSSLCertificate; раньше принимался ресурс (resource) с типом OpenSSL key или OpenSSL X.509.
| openssl_x509_check_private_key | Параметр certificate теперь принимает экземпляр класса OpenSSLCertificate; раньше принимался ресурс (resource) с типом OpenSSL X.509.
| openssl_x509_check_private_key | Параметрprivate_key теперь принимает экземпляр класса OpenSSLAsymmetricKey или OpenSSLCertificate; раньше принимался ресурс (resource) с типом OpenSSL key или OpenSSL X.509.
| openssl_x509_checkpurpose | certificate теперь принимает экземпляр OpenSSLCertificate; ранее принимался ресурс (resource) типа OpenSSL X.509.
| openssl_x509_checkpurpose | untrusted_certificates_file теперь допускает значение null.
| openssl_x509_export | certificate теперь принимает экземпляр OpenSSLCertificate; ранее принимался ресурс (resource) типа OpenSSL X.509.
| openssl_x509_export_to_file | certificate теперь принимает экземпляр OpenSSLCertificate; ранее принимался ресурс (resource) типа OpenSSL X.509.
| openssl_x509_fingerprint | certificate теперь принимает экземпляр OpenSSLCertificate; ранее принимался ресурс (resource) типа OpenSSL X.509.
| openssl_x509_free | Функция устарела, поскольку больше ни на что не влияет.
| openssl_x509_free | Параметр certificate теперь принимает экземпляр класса OpenSSLCertificate; раньше принимался ресурс (resource), который принадлежит типу OpenSSL X.509.
| openssl_x509_parse | Параметр certificate теперь принимает экземпляр класса OpenSSLCertificate; раньше принимался ресурс (resource) с типом OpenSSL X.509.
| openssl_x509_read | В случае успешного выполнения функция возвращает экземпляр класса OpenSSLCertificate; раньше возвращался ресурс (resource) с типом OpenSSL X.509.
| openssl_x509_read | Параметр certificate теперь принимает экземпляр класса OpenSSLCertificate; раньше принимался ресурс (resource) с типом OpenSSL X.509.
| openssl_x509_verify | Теперь параметр certificate принимает экземпляр класса OpenSSLCertificate; раньше принимался ресурс (resource) с типом OpenSSL X.509.
| openssl_x509_verify | Теперь параметр public_key принимает экземпляр класса OpenSSLAsymmetricKey или OpenSSLCertificate; раньше принимался ресурс (resource) с типом OpenSSL key или OpenSSL X.509.
| pack | Функция больше не возвращает false, если возникла ошибка.
| parse_str | Параметр result стал обязательным.
| parse_url | Функция parse_url теперь различит запросы и фрагменты, которые не содержатся в адресе или пусты.
| passthru | Если параметр command не указали или содержит нулевые байты, функция passthru теперь выбрасывает исключение ValueError; раньше функция выдавала ошибку уровня E_WARNING и возвращала false.
| password_hash | Функция password_hash больше не возвращает значение false, если возникла ошибка. Вместо этого функция выбросит ошибку ValueError, если алгоритм хеширования пароля недействителен, или ошибку Error, если не получилось захешировать пароль из-за неизвестной ошибки.
| password_hash | Параметр algo теперь принимает значение null.
| pcntl_async_signals | enable теперь допускает значение null.
| pcntl_getpriority | process_id теперь допускает значение null.
| pcntl_setpriority | process_id теперь допускает значение null.
| pfsockopen | Параметр timeout теперь принимает значение null.
| pg_client_encoding | connection теперь допускает значение null.
| pg_close | connection теперь допускает значение null.
| pg_dbname | connection теперь допускает значение null.
| pg_end_copy | connection теперь допускает значение null.
| pg_fetch_all | Функция pg_fetch_all теперь возвращает пустой массив (array) вместо значения false для наборов результатов без строк.
| pg_host | connection теперь допускает значение null.
| pg_last_error | connection теперь допускает значение null.
| pg_lo_write | length теперь допускает значение null.
| pg_options | connection теперь допускает значение null.
| pg_ping | connection теперь допускает значение null.
| pg_port | connection теперь допускает значение null.
| pg_trace | connection теперь допускает значение null.
| pg_tty | connection теперь допускает значение null.
| pg_untrace | connection теперь допускает значение null.
| pg_version | connection теперь допускает значение null.
| phpversion | Параметр extension теперь принимает значение null.
| printf | Функция больше не возвращает false, если возникла ошибка.
| printf | Выбрасывает исключение ValueError, если количество аргументов равно нулю; раньше функция выдавала ошибку уровня E_WARNING.
| printf | Выбрасывает исключение ValueError, если [width] меньше нуля или больше PHP_INT_MAX; раньше функция выдавала ошибку уровня E_WARNING.
| printf | Выбрасывает исключение ValueError, если [precision] меньше нуля или больше PHP_INT_MAX; раньше функция выдавала ошибку уровня E_WARNING.
| printf | Выбрасывает исключение ArgumentCountError, если аргументов задано меньше, чем требуется; раньше функция выдавала ошибку уровня E_WARNING.
| readdir | dir_handle теперь допускает значение null.
| readline_info | Параметры var_name и value теперь принимают значение null.
| readline_read_history | Параметр filename теперь принимает значение null.
| readline_write_history | Параметр filename теперь принимает значение null.
| restore_include_path | Функцию удалили.
| rewinddir | dir_handle теперь допускает значение null.
| round | Параметр num больше не принимает внутренние объекты, которые поддерживают числовое преобразование.
| sapi_windows_vt100_support | enable теперь допускает значение null.
| scandir | context теперь допускает значение null.
| sem_acquire | Параметр semaphore теперь ожидает экземпляр класса SysvSemaphore; раньше ожидался ресурс (resource).
| sem_get | В случае успешного выполнения функция возвращает экземпляр класса SysvSemaphore; раньше возвращался ресурс (resource).
| sem_get | Тип auto_release изменили с целого числа (int) на логическое значение (bool).
| sem_release | Параметр semaphore теперь ожидает экземпляр класса SysvSemaphore; раньше ожидался ресурс (resource).
| sem_remove | Параметр semaphore теперь ожидает экземпляр класса SysvSemaphore; раньше ожидался ресурс (resource).
| session_cache_expire | Параметр value теперь принимает значение null.
| session_cache_limiter | Параметр value теперь принимает значение null.
| session_id | Параметр id теперь принимает значение null.
| session_module_name | Параметр module теперь принимает значение null.
| session_name | Параметр name теперь принимает значение null.
| session_save_path | Параметр path теперь принимает значение null.
| session_set_cookie_params | Параметры path, domain, secure и httponly теперь принимают значение null.
| set_error_handler | Параметр errcontext удалили. Контекст ошибки больше не передаётся в пользовательскую callback-функцию.
| setcookie | При передаче в массиве опций ключей, которые параметр не поддерживает, теперь выбрасывается ошибка ValueError; раньше функция выдавала ошибку уровня E_WARNING.
| settype | Теперь выбрасывает исключение ValueError, когда в параметр type передан недопустимый тип. Раньше выдавалась ошибка уровня E_WARNING и функция возвращала false.
| shm_attach | В случае успешного выполнения функция возвращает экземпляр SysvSharedMemory; ранее возвращался ресурс (resource).
| shm_attach | size теперь допускает значение null.
| shm_detach | shm ожидает экземпляр SysvSharedMemory; ранее ожидался ресурс (resource).
| shm_get_var | shm теперь ожидает экземпляр SysvSharedMemory; ранее ожидался ресурс (resource).
| shm_has_var | shm теперь ожидает экземпляр SysvSharedMemory; ранее ожидался ресурс (resource).
| shm_put_var | shm теперь ожидает экземпляр SysvSharedMemory; ранее ожидался ресурс (resource).
| shm_remove | shm теперь ожидает экземпляр SysvSharedMemory; ранее ожидался ресурс (resource).
| shm_remove_var | shm теперь ожидает экземпляр SysvSharedMemory; ранее ожидался ресурс (resource).
| shmop_close | Функция устарела, поскольку больше ни на что не влияет.
| shmop_close | Параметр shmop ожидает экземпляр класса Shmop; раньше ожидался ресурс (resource).
| shmop_delete | Параметр shmop ожидает экземпляр Shmop; ранее ожидался ресурс (resource).
| shmop_open | В случае успешного выполнения возвращается экземпляр Shmop; ранее возвращался ресурс (resource).
| shmop_open | Если параметр mode указан некорректно или параметр size меньше или равен нулю, выдаётся ошибка ValueError. previously E_WARNING was emitted instead, ранее вместо этого выдавалась ошибка уровня E_WARNING и функция возвращала false.
| shmop_read | Параметр shmop теперь ожидает экземпляр класса Shmop; раньше ожидался ресурс (resource).
| shmop_read | Функция выбрасывает ошибку ValueError, если в аргументе offset или size передали значение вне допустимого диапазона; раньше выдавалась ошибка уровня E_WARNING и функция возвращала значение false.
| shmop_size | Параметр shmop ожидает экземпляр Shmop; ранее ожидался ресурс (resource).
| shmop_write | До PHP 8.0.0 в случае возникновения ошибки возвращалось false.
| shmop_write | Параметр shmop ожидает экземпляр Shmop; ранее ожидался ресурс (resource).
| sleep | Функция выбрасывает исключение ValueError, если в параметре seconds указали отрицательное число; раньше вместо этого выдавалась ошибка уровня E_WARNING и функция возвращала значение false.
| socket_accept | В случае успешного выполнения функция возвращает экземпляр Socket; ранее возвращался ресурс (resource).
| socket_addrinfo_bind | В случае успешного выполнения функция возвращает экземпляр класса Socket; раньше возвращался ресурс (resource).
| socket_addrinfo_bind | Параметр address теперь принимает объект AddressInfo; раньше принимался тип resource.
| socket_addrinfo_connect | В случае успешного выполнения функция возвращает экземпляр класса Socket; раньше возвращался ресурс (resource).
| socket_addrinfo_connect | Параметр address теперь принимает объект AddressInfo; раньше принимался тип resource.
| socket_addrinfo_explain | Параметр address теперь принимает объект AddressInfo; раньше принимался тип resource.
| socket_addrinfo_lookup | В случае успешного выполнения функция возвращает массив экземпляров AddressInfo; раньше возвращался ресурс (resource).
| socket_addrinfo_lookup | Параметр service теперь принимает значение null.
| socket_bind | Параметр socket теперь принимает объект Socket; раньше принимался тип resource.
| socket_clear_error | Параметр socket теперь принимает объект Socket; раньше принимался тип resource.
| socket_clear_error | socket теперь допускает значение null.
| socket_close | Параметр socket теперь принимает объект Socket; раньше принимался тип resource.
| socket_connect | Параметр socket теперь принимает объект Socket; раньше принимался тип resource.
| socket_connect | port теперь допускает значение null.
| socket_create | В случае успешного выполнения функция возвращает экземпляр Socket; ранее возвращался ресурс (resource).
| socket_create_listen | В случае успешного выполнения функция возвращает экземпляр класса Socket; раньше возвращался ресурс (resource).
| socket_create_pair | pair является ссылкой на массив экземпляров Socket; ранее являлся ссылкой на массив ресурсов (resource).
| socket_export_stream | Параметр socket теперь принимает объект Socket; раньше принимался тип resource.
| socket_get_option | Параметр socket теперь принимает объект Socket; раньше принимался тип resource.
| socket_getpeername | Параметр socket теперь принимает объект Socket; раньше принимался тип resource.
| socket_getsockname | Параметр socket теперь принимает объект Socket; раньше принимался тип resource.
| socket_import_stream | Теперь в случае успешного выполнения функция возвращает экземпляр класса Socket; раньше возвращался ресурс (resource).
| socket_last_error | Параметр socket теперь принимает объект Socket; раньше принимался тип resource.
| socket_last_error | Параметр socket теперь принимает значение null.
| socket_listen | Параметр socket теперь принимает объект Socket; раньше принимался тип resource.
| socket_read | Параметр socket теперь принимает объект Socket; раньше принимался тип resource.
| socket_recv | Параметр socket теперь принимает объект Socket; раньше принимался тип resource.
| socket_recvfrom | Параметр socket теперь принимает объект Socket; раньше принимался тип resource.
| socket_recvmsg | Параметр socket теперь принимает объект Socket; раньше принимался тип resource.
| socket_send | Параметр socket теперь принимает объект Socket; раньше принимался тип resource.
| socket_sendmsg | Параметр socket теперь принимает объект Socket; раньше принимался тип resource.
| socket_sendto | Параметр socket теперь принимает объект Socket; раньше принимался тип resource.
| socket_sendto | Параметр port теперь принимает значение null.
| socket_set_block | Параметр socket теперь принимает объект Socket; раньше принимался тип resource.
| socket_set_nonblock | Параметр socket теперь принимает объект Socket; раньше принимался тип resource.
| socket_set_option | Параметр socket теперь принимает объект Socket; раньше принимался тип resource.
| socket_shutdown | Параметр socket теперь принимает объект Socket; раньше принимался тип resource.
| socket_write | Параметр socket теперь принимает объект Socket; раньше принимался тип resource.
| socket_write | Параметр length теперь принимает значение null.
| socket_wsaprotocol_info_export | Параметр socket теперь принимает объект Socket; раньше принимался тип resource.
| socket_wsaprotocol_info_import | В случае успешного выполнения функция возвращает экземпляр Socket; ранее возвращался ресурс (resource).
| soundex | До этой версии при вызове функции с пустой строкой возвращалось значение false без особой причины.
| spl_autoload | Параметр file_extensions теперь принимает значение null.
| spl_autoload_extensions | Параметр file_extensions теперь принимает значение null.
| spl_autoload_functions | Значение, которое возвращает функция, обновили, чтобы функция возвращала только массив (array); раньше функция возвращала false, если библиотека SPL ещё не активировала очередь автозагрузки.
| spl_autoload_register | Теперь параметр callback принимает значение null.
| sprintf | Функция больше не возвращает false, если возникла ошибка.
| sprintf | Выбрасывает исключение ValueError, если количество аргументов равно нулю; раньше функция выдавала ошибку уровня E_WARNING.
| sprintf | Выбрасывает исключение ValueError, если [width] меньше нуля или больше PHP_INT_MAX; раньше функция выдавала ошибку уровня E_WARNING.
| sprintf | Выбрасывает исключение ValueError, если [precision] меньше нуля или больше PHP_INT_MAX; раньше функция выдавала ошибку уровня E_WARNING.
| sprintf | Выбрасывает исключение ArgumentCountError, если аргументов задано меньше, чем требуется; раньше функция выдавала ошибку уровня E_WARNING.
| str_split | Функция теперь выбросит ошибку ValueError, если значение аргумента length окажется меньше 1; раньше вместо этого функция вызывала ошибку уровня E_WARNING и возвращала false.
| str_word_count | Параметр characters теперь принимает значение null.
| strcspn | Параметр length теперь принимает значение null.
| stream_context_create | Параметры options и params теперь принимают значение null.
| stream_context_get_default | Параметр options теперь принимает значение null.
| stream_copy_to_stream | Параметр length теперь допускает значение null.
| stream_get_contents | length теперь допускает значение null.
| stream_set_chunk_size | Теперь выбрасывается исключение ValueError, если значение параметра size меньше 1 или больше значения константы PHP_INT_MAX. Ранее вызывалась ошибка уровня E_WARNING и возвращалось логическое значение false.
| stream_socket_accept | Параметр timeout теперь принимает значение null.
| stream_socket_client | Параметры timeout и context теперь принимают значение null.
| stream_socket_enable_crypto | session_stream теперь допускает значение null.
| stream_socket_server | Параметр context теперь принимает значение null.
| strftime | Параметр timestamp теперь принимает значение null.
| strip_tags | Параметр allowed_tags теперь принимает значение null.
| stripos | Параметр needle теперь разрешает пустую строку.
| stripos | Функция перестала поддерживать передачу целого числа (int) в параметр needle.
| stristr | Параметр needle теперь разрешает пустую строку.
| stristr | Передача целого числа (int) в параметр needle больше не поддерживается.
| strpos | Параметр needle теперь разрешает пустую строку.
| strpos | Функция больше не поддерживает передачу целого числа (int) в параметр needle.
| strrchr | Параметр needle теперь разрешает пустую строку.
| strrchr | Передача целого числа (int) в needle больше не поддерживается.
| strripos | Параметр needle теперь разрешает пустую строку.
| strripos | Функция перестала поддерживать передачу целого числа (int) в параметр needle.
| strrpos | Параметр needle теперь разрешает пустую строку.
| strrpos | Передача целого числа (int) в параметр needle больше не поддерживается.
| strspn | Параметр length теперь принимает значение null.
| strstr | Параметр needle теперь разрешает пустую строку.
| strstr | Функция больше не поддерживает передачу целого числа (int) в параметр needle.
| strtotime | Параметр baseTimestamp теперь принимает значение null.
| substr | Параметр length теперь принимает значение null. При явной установке для параметра length значения null функция возвращает подстроку, которая заканчивается в конце строки; раньше возвращалась пустая строка.
| substr | Функция возвращает пустую строку там, где раньше возвращала false.
| substr_compare | Параметр length теперь принимает значение null.
| substr_count | Параметр length теперь принимает значение null.
| substr_replace | length теперь допускает значение null.
| touch | Параметр mtime и atime теперь допускают значение null.
| trigger_error | Функция выбрасывает ошибку ValueError, если в аргументе error_level передали недопустимое значение. Раньше функция возвращала значение false.
| uasort | Функция теперь выдаст ошибку уровня E_WARNING, если параметр callback-функции ожидает передачу значения по ссылке.
| uksort | Функция теперь выдаст ошибку уровня E_WARNING, если параметр callback-функции ожидает передачу значения по ссылке.
| umask | Параметр mask теперь может принимать значение null.
| unixtojd | timestamp теперь допускает значение null.
| usort | Функция теперь выдаст ошибку уровня E_WARNING, если параметр callback-функции ожидает передачу значения по ссылке.
| vfprintf | Функция больше не возвращает false, если возникла ошибка.
| vfprintf | Выбрасывает исключение ValueError, если количество аргументов равно нулю; раньше функция выдавала ошибку уровня E_WARNING.
| vfprintf | Выбрасывает исключение ValueError, если [width] меньше нуля или больше PHP_INT_MAX; раньше функция выдавала ошибку уровня E_WARNING.
| vfprintf | Выбрасывает исключение ValueError, если [precision] меньше нуля или больше PHP_INT_MAX; раньше функция выдавала ошибку уровня E_WARNING.
| vfprintf | Выбрасывает исключение ArgumentCountError, если аргументов задано меньше, чем требуется; раньше функция выдавала ошибку уровня E_WARNING.
| vprintf | Функция больше не возвращает false, если возникла ошибка.
| vprintf | Выбрасывает исключение ValueError, если количество аргументов равно нулю; раньше функция выдавала ошибку уровня E_WARNING.
| vprintf | Выбрасывает исключение ValueError, если [width] меньше нуля или больше PHP_INT_MAX; раньше функция выдавала ошибку уровня E_WARNING.
| vprintf | Выбрасывает исключение ValueError, если [precision] меньше нуля или больше PHP_INT_MAX; раньше функция выдавала ошибку уровня E_WARNING.
| vprintf | Выбрасывает исключение ArgumentCountError, если аргументов задано меньше, чем требуется; раньше функция выдавала ошибку уровня E_WARNING.
| vsprintf | Функция больше не возвращает false, если возникла ошибка.
| vsprintf | Выбрасывает исключение ValueError, если количество аргументов равно нулю; раньше функция выдавала ошибку уровня E_WARNING.
| vsprintf | Выбрасывает исключение ValueError, если [width] меньше нуля или больше PHP_INT_MAX; раньше функция выдавала ошибку уровня E_WARNING.
| vsprintf | Выбрасывает исключение ValueError, если [precision] меньше нуля или больше PHP_INT_MAX; раньше функция выдавала ошибку уровня E_WARNING.
| vsprintf | Выбрасывает исключение ArgumentCountError, если аргументов задано меньше, чем требуется; раньше функция выдавала ошибку уровня E_WARNING.
| wordwrap | Функция выбросит исключение ValueError, если параметр break окажется пустой строкой; раньше выдавалась ошибка уровня E_WARNING и возвращалось значение false.
| xml_get_current_byte_index | Параметр parser ожидает экземпляр класса XMLParser; раньше параметр ждал корректный xml-ресурс (resource).
| xml_get_current_column_number | Параметр parser ожидает экземпляр класса XMLParser; раньше параметр ждал корректный xml-ресурс (resource).
| xml_get_current_line_number | Параметр parser ожидает экземпляр класса XMLParser; раньше параметр ждал корректный xml-ресурс (resource).
| xml_get_error_code | Параметр parser ожидает экземпляр класса XMLParser; раньше параметр ждал корректный xml-ресурс (resource).
| xml_parse | Параметр parser ожидает экземпляр класса XMLParser; раньше параметр ждал корректный xml-ресурс (resource).
| xml_parse_into_struct | Параметр parser ожидает экземпляр класса XMLParser; раньше параметр ждал корректный xml-ресурс (resource).
| xml_parser_create | Теперь функция возвращает экземпляр класса XMLParser; раньше функция возвращала ресурс (resource) или false, если возникла ошибка.
| xml_parser_create | Параметр encoding теперь принимает значение null.
| xml_parser_create_ns | Функция теперь возвращает экземпляр XMLParser; ранее возвращался ресурс (resource) или false, если возникла ошибка.
| xml_parser_create_ns | encoding теперь допускает значение null.
| xml_parser_free | Параметр parser ожидает экземпляр класса XMLParser; раньше параметр ждал корректный xml-ресурс (resource).
| xml_parser_get_option | Параметр parser ожидает экземпляр класса XMLParser; раньше параметр ждал корректный xml-ресурс (resource).
| xml_parser_get_option | Если значение параметра option недопустимо, теперь выбрасывается исключение ValueError.
| xml_parser_set_option | Параметр parser ожидает экземпляр класса XMLParser; раньше параметр ждал корректный xml-ресурс (resource).
| xml_parser_set_option | Теперь выбрасывается исключение ValueError, если значение параметра option недопустимо.
| xml_set_character_data_handler | Параметр parser ожидает экземпляр класса XMLParser; раньше параметр ждал корректный xml-ресурс (resource).
| xml_set_default_handler | Параметр parser ожидает экземпляр класса XMLParser; раньше параметр ждал корректный xml-ресурс (resource).
| xml_set_element_handler | Параметр parser ожидает экземпляр класса XMLParser; раньше параметр ждал корректный xml-ресурс (resource).
| xml_set_end_namespace_decl_handler | Параметр parser ожидает экземпляр класса XMLParser; раньше параметр ждал корректный xml-ресурс (resource).
| xml_set_external_entity_ref_handler | Параметр parser ожидает экземпляр класса XMLParser; раньше параметр ждал корректный xml-ресурс (resource).
| xml_set_notation_decl_handler | Параметр parser ожидает экземпляр класса XMLParser; раньше параметр ждал корректный xml-ресурс (resource).
| xml_set_object | Параметр parser ожидает экземпляр класса XMLParser; раньше параметр ждал корректный xml-ресурс (resource).
| xml_set_processing_instruction_handler | Параметр parser ожидает экземпляр класса XMLParser; раньше параметр ждал корректный xml-ресурс (resource).
| xml_set_start_namespace_decl_handler | Параметр parser ожидает экземпляр класса XMLParser; раньше параметр ждал корректный xml-ресурс (resource).
| xml_set_unparsed_entity_decl_handler | Параметр parser ожидает экземпляр класса XMLParser; раньше параметр ждал корректный xml-ресурс (resource).
| zip_close | Функция устарела в пользу объектно-ориентированного API, смотрите описание метода ZipArchive::close.
| zip_entry_close | Функция устарела в пользу объектно-ориентированного API.
| zip_entry_compressedsize | Функция устарела в пользу объектно-ориентированного API, смотрите описание метода ZipArchive::statIndex.
| zip_entry_compressionmethod | Функция устарела в пользу объектно-ориентированного API, смотрите описание метода ZipArchive::statIndex.
| zip_entry_filesize | Функция устарела в пользу объектно-ориентированного API, смотрите описание метода ZipArchive::statIndex.
| zip_entry_name | Функция устарела в пользу объектно-ориентированного API, смотрите описание метода ZipArchive::statIndex.
| zip_entry_open | Функция устарела в пользу объектно-ориентированного API.
| zip_entry_read | Функция устарела в пользу объектно-ориентированного API, смотрите описание метода ZipArchive::getFromIndex.
| zip_open | Функция устарела в пользу объектно-ориентированного API, смотрите описание метода ZipArchive::open.
| zip_read | Функция устарела в пользу объектно-ориентированного API, смотрите описание метода ZipArchive::statIndex.
| GlobIterator::__construct | Теперь выбрасывает исключение ValueError, если параметр directory содержит пустую строку. Ранее выбрасывалось исключение RuntimeException.
| IntlCalendar::setMinimalDaysInFirstWeek | В случае некорректного ввода данных теперь выдаётся ошибка ValueError; ранее возвращалось значение false.
| IntlTimeZone::getIDForWindowsID | Параметр region теперь допускает значение null.
| LimitIterator::__construct | Теперь выбрасывает исключение ValueError, если смещение offset окажется меньше 0; ранее выбрасывалось исключение RuntimeException.
| LimitIterator::__construct | Теперь выбрасывает исключение ValueError, если смещение limit окажется меньше -1; ранее выбрасывалось исключение RuntimeException.
| Locale::getDisplayLanguage | displayLocale теперь допускает значение null.
| Locale::getDisplayName | displayLocale теперь допускает значение null.
| Locale::getDisplayRegion | displayLocale теперь допускает значение null.
| Locale::getDisplayScript | displayLocale теперь допускает значение null.
| Locale::getDisplayVariant | displayLocale теперь допускает значение null.
| mysqli_result::fetch_object | Параметр constructor_args теперь принимает пустой массив [] для конструкторов без параметров; раньше функция выбрасывала исключение.
| mysqli_result::field_seek | Теперь функция каждый раз возвращает значение true. Раньше функция возвращала значение false, если возникала ошибка.
| mysqli_stmt::close | Функция теперь возвращает значение true. Ранее она возвращала значение false в случае возникновения ошибки.
| mysqli_stmt::__construct | query теперь допускает значение null.
| mysqli::begin_transaction | name теперь допускает значение null.
| mysqli::close | Функция теперь возвращает значение true. Ранее она возвращала значение false в случае возникновения ошибки.
| mysqli::commit | name теперь допускает значение null.
| mysqli::debug | Функция теперь возвращает значение true. Ранее она возвращала значение false в случае возникновения ошибки.
| mysqli::rollback | name теперь допускает значение null.
| NumberFormatter::create | pattern теперь допускает значение null.
| PDOStatement::fetchAll | Теперь метод каждый раз возвращает массив (array), раньше иногда возвращалось false, если возникала ошибка.
| Phar::addFile | localName теперь допускает значение null.
| Phar::buildFromIterator | baseDirectory теперь допускает значение null.
| Phar::compress | extension теперь допускает значение null.
| Phar::convertToData | format, compression и extension теперь допускают значение null.
| Phar::convertToExecutable | format, compression и extension теперь допускают значение null.
| Phar::createDefaultStub | index и webIndex теперь допускают значение null.
| Phar::decompress | extension теперь допускает значение null.
| Phar::getMetadata | Добавлен параметр unserializeOptions.
| Phar::setDefaultStub | webIndex теперь допускает значение null.
| Phar::setSignatureAlgorithm | privateKey теперь допускает значение null.
| Phar::webPhar | Параметр fileNotFoundScript и rewrite теперь допускают значение null.
| PharData::addFile | localName теперь допускает значение null.
| PharData::buildFromIterator | baseDirectory теперь допускает значение null.
| PharData::compress | extension теперь допускает значение null.
| PharData::convertToData | format, compression и extension теперь допускают значение null.
| PharData::convertToExecutable | format, compression и localName теперь допускают значение null.
| PharData::decompress | extension теперь допускает значение null.
| PharData::setDefaultStub | webIndex теперь допускает значение null.
| PharData::setSignatureAlgorithm | privateKey теперь допускает значение null.
| PharFileInfo::getMetadata | Добавлен параметр unserializeOptions.
| PharFileInfo::isCompressed | compression теперь допускает значение null.
| RecursiveDirectoryIterator::__construct | Теперь выбрасывает исключение ValueError, если параметр directory содержит пустую строку. ранее выбрасывалось исключение RuntimeException.
| RecursiveIteratorIterator::getSubIterator | Параметр level теперь принимает значение null.
| ReflectionClass::getConstants | Добавлен параметр filter.
| ReflectionClass::getReflectionConstants | Добавили параметр filter.
| ReflectionFunction::invokeArgs | Ключи args теперь интерпретируются как имена параметров, а не игнорируются.
| ReflectionFunction::isDisabled | Функция устарела, поскольку экземпляр класса ReflectionFunction больше нельзя создавать для отключённых функций.
| ReflectionMethod::export | Функцию удалили.
| ReflectionMethod::getClosure | object теперь допускает значение null.
| ReflectionMethod::invokeArgs | Ключи args теперь интерпретируются как имена параметров, а не игнорируются.
| ReflectionParameter::getClass | Метод устарел в пользу метода ReflectionParameter::getType.
| ReflectionParameter::getDefaultValue | Метод теперь позволяет получить значение по умолчанию для параметров встроенных функций и встроенных методов класса. Ранее выбрасывалось ReflectionException.
| ReflectionParameter::getDefaultValueConstantName | Метод теперь разрешает получать названия констант значений по умолчанию для встроенных функций и встроенных методов класса. Раньше выбрасывалось исключение ReflectionException.
| ReflectionParameter::isArray | Метод устарел в пользу метода ReflectionParameter::getType.
| ReflectionParameter::isCallable | Метод устарел в пользу метода ReflectionParameter::getType.
| ReflectionProperty::getValue | object теперь допускает значение null.
| ReflectionProperty::isInitialized | Параметр object теперь принимает значение null.
| ReflectionType::__toString | С метода ReflectionType::__toString сняли признак устаревшего.
| Reflector::export | Функцию удалили.
| SimpleXMLElement::asXML | filename теперь допускает значение null.
| SoapClient::__doRequest | Тип параметра oneWay изменился с int на bool.
| SoapClient::__setCookie | value теперь допускает значение null.
| SoapServer::handle | request теперь допускает значение null.
| SplFileInfo::getFileInfo | class теперь допускает значение null.
| SplFileInfo::getPathInfo | class теперь допускает значение null.
| SplFileInfo::openFile | context теперь допускает значение null.
| SplFixedArray::__construct | Теперь выбрасывает исключение ValueError, если параметр size отрицателен; ранее выбрасывалось исключение InvalidArgumentException.
| tidy::__construct | filename, config, encoding и useIncludePath теперь допускают значение null.
| tidy::parseFile | Параметры config и encoding теперь принимают значение null.
| tidy::parseString | config и encoding теперь допускают значение null.
| tidy::repairFile | tidy::repairFile теперь статичный метод.
| tidy::repairFile | config и encoding теперь допускают значение null.
| tidy::repairString | tidy::repairString теперь статичный метод.
| tidy::repairString | config и encoding теперь допускают значение null.
| tidy::repairString | Функция больше не принимает параметр useIncludePath.
| XMLReader::getAttribute | Метод больше не может возвращать false.
| XMLReader::getAttributeNs | Метод больше не возвращает false.
| XMLReader::lookupNamespace | Метод больше не возвращает false.
| XMLReader::next | Параметр name теперь принимает значение null.
| XMLReader::open | Метод XMLReader::open объявили статическим, но его по-прежнему разрешается вызывать на экземпляре класса XMLReader.
| XMLReader::XML | Метод XMLReader::XML объявили статическим, но его по-прежнему разрешается вызывать на экземпляре класса XMLReader.
| XMLWriter::endAttribute | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::endCdata | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::endComment | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::endDocument | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::endDtd | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::endDtdAttlist | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::endDtdElement | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::endDtdEntity | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::endElement | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::endPi | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::flush | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::flush | Функция больше не может возвращать false.
| XMLWriter::fullEndElement | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::openMemory | Функция теперь возвращает экземпляр XMLWriter, если выполнилась успешно. Раньше в этом случае возвращался ресурс (resource).
| XMLWriter::openUri | Функция теперь возвращает экземпляр класса XMLWriter, если выполнилась успешно. Раньше в этом случае возвращался ресурс (resource).
| XMLWriter::outputMemory | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::setIndent | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::setIndentString | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::startAttribute | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::startAttributeNs | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::startAttributeNs | prefix теперь допускает значение null.
| XMLWriter::startCdata | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::startComment | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::startDocument | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::startDtd | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::startDtdAttlist | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::startDtdElement | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::startDtdEntity | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::startElement | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::startElementNs | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::startPi | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::text | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::writeAttribute | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::writeAttributeNs | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::writeCdata | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::writeComment | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::writeDtd | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::writeDtdAttlist | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::writeDtdElement | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::writeDtdEntity | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::writeDtdEntity | publicId, systemId и notationData теперь допускают значение null.
| XMLWriter::writeElement | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::writeElementNs | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::writePi | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| XMLWriter::writeRaw | В параметре writer теперь ожидается экземпляр класса XMLWriter; раньше параметр ждал ресурс (resource).
| ZipArchive::addEmptyDir | Добавили параметр flags.
| ZipArchive::addFile | Добавили параметр flags.
| ZipArchive::addFromString | Добавили параметр flags.
| ZipArchive::addGlob | Добавили опцию "flags" в параметр options.
| ZipArchive::addGlob | Добавили опции "comp_method", "comp_flags", "enc_method" и "enc_password" в параметр options.
| ZipArchive::getStatusString | Разрешили вызвать метод на закрытом архиве.
| ZipArchive::getStatusString | Метод больше не возвращает false, если возникла ошибка.
| ZipArchive::setEncryptionIndex | Параметр password теперь принимает значение null.
| ZipArchive::setEncryptionName | Параметр password теперь принимает значение null.
7.4.12 | jdtounix | Увеличен верхний предел julian_day. Раньше он был 2465342 независимо от архитектуры.
| tidyNode::isHtml | Исправлено, теперь функция ведёт себя разумно. Раньше почти любой узел считался узлом HTML.
7.4.4 | proc_open | Добавлена опция create_new_console в параметр options.
7.4.3 | curl_setopt | Добавили опцию CURLOPT_HTTP09_ALLOWED.
7.4.2 | dba_open | Драйвер lmdb теперь поддерживает дополнительный параметр map_size.
| dba_popen | Драйвер lmdb теперь поддерживает дополнительный параметр map_size.
7.4.0 | DatePeriod::__construct | Параметр recurrences теперь принимает только значения больше 0.
| array_key_exists | Передача значения с типом object в параметр array устарела. Для проверки свойства вместо этой функции вызывают функцию property_exists.
| array_merge | Функция теперь поддерживает вызов без аргументов; раньше требовался хотя бы один аргумент.
| array_merge_recursive | Теперь функция умеет работать без аргументов. Раньше требовался хотя бы один аргумент.
| base_convert | Передача недопустимых символов будет генерировать уведомление об устаревании. Результат будет вычислен так, как если бы недопустимые символы не существовали.
| bindec | Передача недопустимых символов теперь выдаёт уведомление об устаревании. Результат по-прежнему будет вычислен, как если бы недопустимые символы не передавались.
| chr | Функция теперь выдаёт предупреждение, когда приводит к 0 значение параметра codepoint, которое невозможно интерпретировать как кодовую точку.
| convert_cyr_string | Функция устарела.
| curl_version | Необязательный параметр age устарел; при передаче аргумента функция игнорирует значение.
| current | Экземпляры классов библиотеки SPL теперь вместо вызова метода интерфейса Iterator, название которого аналогично названию этой функции, обрабатываются как пустые объекты без свойств.
| end | Экземпляры классов библиотеки SPL теперь вместо вызова метода интерфейса Iterator, название которого аналогично названию этой функции, обрабатываются как пустые объекты без свойств.
| fgetcsv | Параметр escape теперь также принимает пустую строку для отключения встроенного механизма экранирования.
| fputcsv | Теперь параметр escape принимает пустую строку для отключения внутреннего механизма экранирования.
| get_declared_classes | Раньше функция get_declared_classes возвращала родительские классы перед дочерними классами. Это поведение изменилось. Функция get_declared_classes не гарантирует порядок имён классов в массиве с результатами.
| get_magic_quotes_gpc | Функция устарела.
| get_magic_quotes_runtime | Функция устарела.
| gzread | В случае возникновения ошибки возвращается false; раньше, возвращался 0.
| gzwrite | В случае возникновения ошибки функция возвращает false. раньше возвращался 0.
| hash_algos | Добавили поддержку алгоритма crc32c.
| hebrevc | Функция устарела.
| hexdec | Передача недопустимых символов теперь выдаёт уведомление об устаревании. Результат по-прежнему вычисляется так, как если бы недопустимые символы не передавались.
| idn_to_ascii | Значением по умолчанию для параметра variant стала константа INTL_IDNA_VARIANT_UTS46 вместо устаревшего варианта INTL_IDNA_VARIANT_2003.
| idn_to_utf8 | Теперь значение по умолчанию variant изменено на INTL_IDNA_VARIANT_UTS46 вместо устаревшей константы INTL_IDNA_VARIANT_2003.
| imagecropauto | Поведение функции imagecropauto() во встроенной библиотеке libgd синхронизировали с поведением системной библиотеки libgd: режим IMG_CROP_DEFAULT больше не откатывается к режиму IMG_CROP_SIDES, а пороговая обрезка теперь работает по тому же алгоритму, что и системная библиотека libgd.
| imagecropauto | Значение режима mode по умолчанию изменили на IMG_CROP_AUTO. Раньше значением по умолчанию было -1, что соответствует режиму IMG_CROP_DEFAULT, но передача значения -1 теперь устарела.
| imagefilter | Добавили поддержку рассеивания — IMG_FILTER_SCATTER.
| implode | Передача разделителя separator после массива array, т. е. сигнатура, которая досталась в наследство, устарела.
| key | Экземпляры классов библиотеки SPL теперь вместо вызова метода интерфейса Iterator, название которого аналогично названию этой функции, обрабатываются как пустые объекты без свойств.
| ldap_control_paged_result | Функция объявлена устаревшей.
| ldap_control_paged_result_response | Функция объявлена устаревшей.
| method_exists | При проверке доступности закрытого родительского метода в дочернем классе функция теперь возвращает значение false, если в первом аргументе передали строку.
| money_format | Функция устарела. Вместо неё пользуются методом NumberFormatter::formatCurrency.
| next | Экземпляры классов библиотеки SPL теперь вместо вызова метода интерфейса Iterator, название которого аналогично названию этой функции, обрабатываются как пустые объекты без свойств.
| octdec | Передача недопустимых символов будет выдавать уведомление об устаревании. Результат будет вычислен так, как если бы недопустимые символы не были переданы.
| password_hash | Параметр algo теперь ожидает строку (string), но всё ещё принимает целое число (int) для обратной совместимости.
| password_hash | Модуль sodium обеспечивает альтернативную реализацию паролей Argon2.
| password_needs_rehash | Параметр algo теперь ожидает строку (string), но всё ещё принимает число (int) для обратной совместимости.
| preg_replace_callback | Добавили параметр flags.
| preg_replace_callback_array | Добавлен параметр flags.
| prev | Экземпляры классов библиотеки SPL теперь вместо вызова метода интерфейса Iterator, название которого аналогично названию этой функции, обрабатываются как пустые объекты без свойств.
| proc_open | proc_open теперь также принимает массив (array) в command.
| proc_open | Добавлена опция create_process_group в параметр options.
| reset | Экземпляры классов библиотеки SPL теперь вместо вызова метода интерфейса Iterator, название которого аналогично названию этой функции, обрабатываются как пустые объекты без свойств.
| restore_include_path | Функция устарела.
| stat | В Windows номер устройства теперь является серийным номером тома, содержащего файл и номер inode - это идентификатор, связанный с файлом.
| stat | Статистика символьных ссылок size, atime, mtime и ctime всегда соответствует статистике целевого объекта. Это было ранее не характерно для NTS-сборки на Windows.
| str_getcsv | Функция теперь интерпретирует пустой параметр escape как требование отключить внутренний механизм экранирования. Раньше пустую строку функция рассматривала как значение по умолчанию для параметра.
| strip_tags | Параметр allowed_tags теперь как альтернативу принимает массив (array).
| unserialize | В параметр options добавили элемент max_depth, который устанавливает максимальную глубину десериализации структур.
| Locale::lookup | defaultLocale теперь допускает значение null.
| mysqli::__construct | Все параметры теперь принимают значение null
| mysqli::real_connect | Все параметры теперь принимают значение null
| ReflectionClass::setStaticPropertyValue | Использование метода ReflectionClass::setStaticPropertyValue для установки частного или защищённого свойства теперь приводит к фатальной ошибке. Ранее выбрасывалось исключение ReflectionException.
| ReflectionMethod::export | Функция устарела.
| Reflector::export | Функция устарела.
| SplFileObject::fgetcsv | Теперь параметр escape принимает пустую строку для отключения внутреннего механизма экранирования.
| SplFileObject::fputcsv | Параметр escape теперь принимает пустую строку для отключения механизма экранирования.
| SplFileObject::fwrite | Метод теперь возвращает false вместо нуля, если возникла ошибка.
| SplFileObject::getCsvControl | Пустую строку теперь разрешается использовать как символ экранирования.
| SplFileObject::setCsvControl | Параметр escape теперь принимает пустую строку для отключения внутреннего механизма экранирования.
| SQLite3Stmt::bindParam | Параметр param теперь поддерживает нотацию @param.
| SQLite3Stmt::bindValue | Параметр param теперь поддерживает нотацию @param.
7.3.24 | jdtounix | Увеличен верхний предел julian_day. Раньше он был 2465342 независимо от архитектуры.
| tidyNode::isHtml | Исправлено, теперь функция ведёт себя разумно. Раньше почти любой узел считался узлом HTML.
7.3.15 | curl_setopt | Добавили опцию CURLOPT_HTTP09_ALLOWED.
7.3.14 | dba_open | Драйвер lmdb теперь поддерживает дополнительный параметр map_size.
| dba_popen | Драйвер lmdb теперь поддерживает дополнительный параметр map_size.
7.3.6 | DatePeriod::__construct | Параметр recurrences теперь принимает только значения больше 0.
| SplFileObject::__toString | Изменён псевдоним с SplFileObject::current на SplFileObject::fgets.
7.3.5 | substr_compare | Параметр offset теперь может равняться параметру haystack.
7.3.0 | DateTimeImmutable::createFromFormat | Добавили спецификатор v для параметра format.
| apache_request_headers | Функция стала доступна через SAPI-интерфейс FPM.
| array_push | Теперь эта функция может быть вызвана с одним параметром. Ранее требовалось минимум два параметра.
| array_unshift | Функция теперь поддерживает вызов только с одним аргументом. Раньше требовалось как минимум два аргумента.
| assert | Объявление пользовательской функции с названием assert() устарело, даже внутри пространства имён. Объявление функции теперь выдаёт ошибку уровня E_DEPRECATED.
| bcmul | Теперь функция bcmul возвращает числа с заданной точностью. Раньше нули в конце дробной части числа отбрасывались.
| bcpow | Функция bcpow теперь возвращает числа с заданной точностью. Раньше нули в конце дробной части числа отбрасывались.
| bcscale | Функция bcscale теперь возвращает текущую разрядность дробной части числа; при вызове с аргументом для установки нового значения количества знаков после десятичной точки по умолчанию функция теперь возвращает старое значение разрядности дробной части. Раньше параметр scale был обязательным, а функция bcscale возвращала только значение true.
| compact | Функция compact теперь выдаёт ошибку уровня E_NOTICE, если строка ссылается на переменную, которую не установили. Раньше такие строки функция без предупреждения пропускала.
| curl_getinfo | Добавили параметры CURLINFO_CONTENT_LENGTH_DOWNLOAD_T, CURLINFO_CONTENT_LENGTH_UPLOAD_T, CURLINFO_HTTP_VERSION, CURLINFO_PROTOCOL, CURLINFO_PROXY_SSL_VERIFYRESULT, CURLINFO_SCHEME, CURLINFO_SIZE_DOWNLOAD_T, CURLINFO_SIZE_UPLOAD_T, CURLINFO_SPEED_DOWNLOAD_T, CURLINFO_SPEED_UPLOAD_T, CURLINFO_APPCONNECT_TIME_T, CURLINFO_CONNECT_TIME_T, CURLINFO_FILETIME_T, CURLINFO_NAMELOOKUP_TIME_T, CURLINFO_PRETRANSFER_TIME_T, CURLINFO_REDIRECT_TIME_T, CURLINFO_STARTTRANSFER_TIME_T, CURLINFO_TOTAL_TIME_T.
| curl_setopt | Добавили опции CURLOPT_ABSTRACT_UNIX_SOCKET, CURLOPT_KEEP_SENDING_ON_ERROR, CURLOPT_PRE_PROXY, CURLOPT_PROXY_CAINFO, CURLOPT_PROXY_CAPATH, CURLOPT_PROXY_CRLFILE, CURLOPT_PROXY_KEYPASSWD, CURLOPT_PROXY_PINNEDPUBLICKEY, CURLOPT_PROXY_SSLCERT, CURLOPT_PROXY_SSLCERTTYPE, CURLOPT_PROXY_SSL_CIPHER_LIST, CURLOPT_PROXY_SSLKEY, CURLOPT_PROXY_SSLKEYTYPE, CURLOPT_PROXY_SSL_OPTIONS, CURLOPT_PROXY_SSL_VERIFYHOST, CURLOPT_PROXY_SSL_VERIFYPEER, CURLOPT_PROXY_SSLVERSION, CURLOPT_PROXY_TLSAUTH_PASSWORD, CURLOPT_PROXY_TLSAUTH_TYPE, CURLOPT_PROXY_TLSAUTH_USERNAME, CURLOPT_SOCKS5_AUTH, CURLOPT_SUPPRESS_CONNECT_HEADERS, CURLOPT_DISALLOW_USERNAME_IN_URL, CURLOPT_DNS_SHUFFLE_ADDRESSES, CURLOPT_HAPPY_EYEBALLS_TIMEOUT_MS, CURLOPT_HAPROXYPROTOCOL, CURLOPT_PROXY_TLS13_CIPHERS, CURLOPT_SSH_COMPRESSION, CURLOPT_TIMEVALUE_LARGE и CURLOPT_TLS13_CIPHERS.
| define | Параметр case_insensitive устарел, а в версии 8.0.0 параметр удалят.
| ftp_fget | Теперь параметр mode опционален. Раньше он был обязательным.
| ftp_fput | Теперь параметр mode опционален. Раньше он был обязательным.
| ftp_get | Теперь параметр mode опционален. Раньше он был обязательным.
| ftp_nb_fget | Параметр mode сделали необязательным, раньше параметр был обязательным.
| ftp_nb_fput | Теперь параметр mode опционален. Раньше он был обязательным.
| ftp_nb_get | Теперь параметр mode опционален. Раньше он был обязательным.
| ftp_nb_put | Теперь параметр mode опционален. Раньше он был обязательным.
| ftp_put | Теперь параметр mode опционален. Раньше он был обязательным.
| getallheaders | Функция стала доступна через SAPI-интерфейс FPM.
| imagecreatefromstring | Добавили поддержку формата WEBP, если модуль libgd поддерживает такой формат.
| is_countable | Добавили функцию is_countable.
| json_decode | Добавлена константа JSON_THROW_ON_ERROR для параметра flags.
| json_encode | Добавлена константа JSON_THROW_ON_ERROR для параметра flags.
| ldap_add | Добавлена поддержка параметра controls
| ldap_compare | Добавлена поддержка параметра controls.
| ldap_delete | Добавлена поддержка параметра controls.
| ldap_exop | Добавлена поддержка параметра controls.
| ldap_exop_passwd | Добавили поддержку параметра controls
| ldap_list | Добавлена поддержка параметра controls
| ldap_mod_add | Добавлена поддержка параметра controls
| ldap_mod_del | Добавлена поддержка параметра controls.
| ldap_mod_replace | Добавлена поддержка параметра controls.
| ldap_modify_batch | Добавлена поддержка параметра controls.
| ldap_mod_add_ext | Добавлена поддержка параметра controls
| ldap_mod_del_ext | Добавлена поддержка параметра controls
| ldap_mod_replace_ext | Добавлена поддержка параметра controls
| ldap_parse_result | Добавлена поддержка параметра controls
| ldap_read | Добавлена поддержка параметра controls
| ldap_rename | Добавлена поддержка параметра controls
| ldap_rename_ext | Добавлена поддержка параметра controls
| ldap_search | Добавлена поддержка параметра controls.
| list | Добавили поддержку присваивания по ссылкам при деструктуризации массива.
| mb_convert_case | Добавили поддержку режимов для параметра mode: MB_CASE_FOLD, MB_CASE_UPPER_SIMPLE, MB_CASE_LOWER_SIMPLE, MB_CASE_TITLE_SIMPLE и MB_CASE_FOLD_SIMPLE.
| password_hash | Ввели константу PASSWORD_ARGON2ID, которая добавила поддержку алгоритма хеширования паролей алгоритмом Argon2id.
| preg_quote | Символ # теперь экранируется
| session_get_cookie_params | Добавлен элемент "samesite" в возвращаемый массив.
| session_set_cookie_params | Добавили альтернативную сигнатуру, которая поддерживает массив опций lifetime_or_options. Эта сигнатура поддерживает также установку cookie-атрибута SameSite.
| setcookie | Добавили альтернативную сигнатуру, которая поддерживает массив опций options. Эта сигнатура поддерживает также установку cookie-атрибута SameSite.
| setrawcookie | Добавили альтернативную подпись, которая поддерживает массив опций options. Эта подпись также поддерживает настройку атрибута SameSite блока данных cookie.
| stripos | Передача целого числа (int) в параметр needle устарела.
| stristr | Передача целого числа (int) в параметр needle устарела.
| strpos | Передача целого числа (int) в параметр needle устарела.
| strrchr | Передача целого числа (int) в needle объявлена устаревшей.
| strripos | Передача целого числа (int) в needle устарела.
| strrpos | Передача целого числа (int) в параметр needle устарела.
| strstr | Передача целого числа (int) в параметр needle устарела.
| unlink | В ОС Windows теперь можно удалить файлы функцией unlink через дескрипторы, хотя раньше это не удавалось. Тем не менее, всё ещё невозможно повторно создать удалённый файл, пока все дескрипторы к нему не будут закрыты.
| var_export | Функция теперь вместо вызова несуществующего метода stdClass::__setState экспортирует объекты класса stdClass как массив, который приводится к объекту: (object) array( ... ). Практический эффект заключается в том, что теперь объекты класса stdClass доступны для экспорта, а полученный код сработает даже в более ранних версиях PHP.
| xml_parser_get_option | Теперь параметр options поддерживает значения XML_OPTION_SKIP_TAGSTART и XML_OPTION_SKIP_WHITE.
| xml_set_external_entity_ref_handler | Функция больше не игнорирует значение, которое возвращает обработчик handler, если модуль собрали с библиотекой libxml. Раньше функция игнорировала значение возврата, а разбор не останавливался.
7.2.19 | DatePeriod::__construct | Параметр recurrences теперь принимает только значения больше 0.
| SplFileObject::__toString | Изменён псевдоним с SplFileObject::current на SplFileObject::fgets.
7.2.18 | litespeed_finish_request | Функция стала частью SAPI-модуля LiteSpeed.
| substr_compare | Параметр offset теперь может равняться параметру haystack.
7.2.12 | DateInterval::format | Формат F и f теперь всегда будет положительным.
| xml_parser_get_option | Теперь параметр options поддерживает значения XML_OPTION_SKIP_TAGSTART и XML_OPTION_SKIP_WHITE.
7.2.0 | array_unique | Раньше со значением SORT_STRING для параметра flags функция копировала массив array, удаляла из копии неуникальные элементы и после этого внутренне не упаковывала массив. Теперь функция создаёт новый массив и добавляет в него уникальные элементы. Это иногда приводит к разным числовым индексам.
| assert | Передача в параметр assertion утверждений в значении с типом string устарела. Функция теперь выдаст ошибку уровня E_DEPRECATED, когда и для опции assert.active, и для опции zend.assertions установили значение 1.
| bcmod | Числа num1 и num2 больше не усекаются до целого, поэтому поведение функции bcmod теперь соответствует функции fmod, а не оператору %.
| bcmod | Добавили параметр scale.
| count | Теперь функция count будет выдавать предупреждение о недопустимых исчисляемых типах, которые передали в параметр value.
| date_parse | Элемент zone в массиве результатов теперь содержит секунды вместо минут, а знак инвертируется, например: значение -120 теперь выводится как 7200.
| date_parse_from_format | Элемент zone в массиве результатов теперь содержит секунды вместо минут, а знак инвертируется, например: значение -120 теперь выводится как 7200.
| date_sun_info | Функция теперь берёт за точку отсчёта местную полночь, а не местный полдень, что исправляет расчёты значений и повышает точность результатов.
| exif_read_data | Параметр file переименовали в stream и принимает как локальный путь к файлу, так и потоковый ресурс.
| exif_read_data | Добавили поддержку следующих форматов EXIF: Samsung DJI Panasonic Sony Pentax Minolta Sigma/Foveon AGFA Kyocera Ricoh Epson
| exif_thumbnail | Параметр file переименован в stream и может принимать как локальный путь к файлу, так и потоковый ресурс.
| ezmlm_hash | Функция устарела.
| get_class | До этой версии значение по умолчанию для параметра object равнялось null, с которым функция работала аналогично вызову без аргументов. Параметр object стал обязательным и больше не принимает значение null.
| gettype | Для закрытых ресурсов теперь возвращается 'resource (closed)'. Ранее для закрытых ресурсов возвращалось 'unknown type'.
| hash_copy | Принимает и возвращает HashContext, а не ресурс.
| hash_final | Принимает HashContext, а не ресурс.
| hash_hmac | Генерацию хеш-строки через некриптографические хеш-функции наподобие adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat запретили.
| hash_hmac_file | Запретили некриптографические хеш-функции (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat).
| hash_init | Запретили некриптографические хеш-функции (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat) с константой HASH_HMAC.
| hash_init | Функция возвращает объект класса HashContext, а не ресурс.
| hash_pbkdf2 | Запретили некриптографические хеш-функции (adler32, crc32, crc32b, fnv132, fnv1a32, fnv164, fnv1a64, joaat).
| hash_update | Принимает HashContext, а не ресурс.
| hash_update_file | Функция принимает объект класса HashContext, а не ресурс.
| hash_update_stream | Функция вместо ресурса теперь принимает объект класса HashContext.
| idn_to_ascii | Константа INTL_IDNA_VARIANT_2003 устарела в пользу варианта INTL_IDNA_VARIANT_UTS46.
| idn_to_utf8 | INTL_IDNA_VARIANT_2003 объявлена устаревшей, вместо неё используйте INTL_IDNA_VARIANT_UTS46.
| imageantialias | Функция imageantialias теперь доступна и при сборке PHP с системной библиотекой GD; раньше требовалось компилировать PHP только с библиотекой, которая входит в комплект исходных файлов интерпретатора.
| imagegd | Функция imagegd теперь разрешает выводить полноцветные truecolor-изображения. Раньше функция неявно преобразовывала такие изображения к палитре.
| imagelayereffect | Добавили эффект IMG_EFFECT_MULTIPLY; для работы эффекта требуется системная библиотека libgd >= 2.1.1 или библиотека libgd, которая входит в комплект исходных файлов интерпретатора.
| imagetypes | Добавлена константа IMG_BMP.
| is_object | Теперь функция is_object возвращает true для десериализованных объектов без определения класса (класс __PHP_Incomplete_Class). Раньше возвращалось false.
| json_decode | associative теперь nullable.
| json_decode | Добавлены константы JSON_INVALID_UTF8_IGNORE и JSON_INVALID_UTF8_SUBSTITUTE для параметра flags.
| json_encode | Добавлены константы JSON_INVALID_UTF8_IGNORE и JSON_INVALID_UTF8_SUBSTITUTE для параметра flags.
| mail | Параметр additional_headers теперь принимает массив.
| mb_check_encoding | Функция теперь также принимает массив (array) в value. Ранее поддерживались только строки (string).
| mb_convert_encoding | Функция теперь также принимает массив (array) как значение параметра string. Раньше поддерживались только значения string.
| mb_parse_str | Вызов функции mb_parse_str без второго параметра объявлен устаревшим.
| mb_send_mail | Теперь в параметр additional_headers можно передавать массив.
| mt_rand | В функции mt_rand исправили ошибку смещения по модулю, поэтому последовательности, которые сгенерировали с конкретным начальным значением, не совпадают со значениями, которые сгенерировали в PHP 7.1 на 64-битных машинах.
| number_format | Функцию number_format изменили, чтобы не возвращать значение -0. Раньше функция иногда возвращала значение -0, если параметр num равнялся -0.01.
| openssl_pkcs7_verify | Добавили параметр output_filename.
| pack | Типы float и double поддерживают как прямой, так и обратный порядок байтов.
| parse_str | Вызов функции parse_str без второго аргумента теперь выдаёт ошибку уровня E_DEPRECATED.
| password_hash | Ввели константу PASSWORD_ARGON2I, которая добавила поддержку хеширования паролей алгоритмом Argon2i.
| preg_match | Теперь константа PREG_UNMATCHED_AS_NULL поддерживается для параметра $flags.
| preg_match_all | Теперь параметр $flags поддерживает константу PREG_UNMATCHED_AS_NULL.
| preg_quote | delimiter теперь допускает значение null.
| proc_nice | Эта функция стала доступна в Windows.
| rand | В функции rand исправили ошибку смещения по модулю, поэтому последовательности, которые сгенерировали с конкретным начальным значением, не совпадают со значениями, которые сгенерировали в PHP 7.1 на 64-битных машинах.
| read_exif_data | Этот псевдоним был объявлен устаревшим.
| session_abort | Теперь возвращаемый тип этой функции bool. Раньше был тип void.
| session_module_name | Явную установку названия "user" для модуля-обработчика сессии теперь запретили. Раньше установка такого значения без предупреждения игнорировалась.
| session_name | Функция session_name проверяет статус сессии, раньше функция проверяла только статус cookie. Поэтому старую версию функции session_name разрешалось вызывать после вызова функции session_start, что иногда приводило к сбою PHP и неправильному поведению.
| session_reset | Теперь возвращаемый тип этой функции bool. Раньше был тип void.
| session_set_cookie_params | Функция возвращает true, если выполнилась успешно, или false, если возникла ошибка. Раньше функция возвращала тип void.
| session_unset | Теперь функция возвращает тип bool. Раньше функция возвращала тип void.
| session_write_close | Теперь возвращаемый тип этой функции bool. Раньше был тип void.
| set_error_handler | Параметр errcontext устарел. При определении параметра в пользовательском обработчике функция выдаст ошибку уровня E_DEPRECATED.
| unpack | Типы float и double поддерживают как прямой, так и обратный порядок байтов.
| utf8_decode | Функцию перенесли из модуля XML в ядро PHP. В предыдущих версиях функция была доступна только при установленном модуле XML.
| utf8_encode | Функцию перенесли из модуля XML в ядро PHP. В предыдущих версиях функция была доступна только при установленном модуле XML.
| PDOStatement::debugDumpParams | PDOStatement::debugDumpParams теперь возвращает SQL, отправленный в базу данных, в том числе полный необработанный запрос (включая заменённые параметры с их связанными значениями). Обратите внимание, что это будет работать только при включённой эмуляции подготавливаемых запросов.
| ReflectionClass::getMethods | filter теперь допускает значение null.
| ReflectionClass::getProperties | filter теперь допускает значение null.
| SQLite3::openBlob | Добавлен параметр flags, позволяющий записать BLOB; ранее поддерживалось только чтение.
7.1.24 | xml_parser_get_option | Теперь параметр options поддерживает значения XML_OPTION_SKIP_TAGSTART и XML_OPTION_SKIP_WHITE.
7.1.5 | IntlDateFormatter::format | Теперь параметр datetime поддерживает общие объекты DateTimeInterface. Раньше поддерживались только объекты DateTime.
7.1.4 | PDO::sqliteCreateFunction | Добавлен параметр flags.
| SQLite3::createFunction | Добавлен параметр flags.
7.1.2 | dns_get_record | Добавили поддержку записей типа CAA.
| fopen | Добавили флаг 'e'.
7.1.1 | get_defined_functions | Добавили параметр exclude_disabled.
| pack | Добавили коды e, E, g и G для поддержки порядка байтов для типов float и double.
7.1.0 | DateInterval::format | Добавлены форматирующие символы F и f.
| DateTime::setTime | Добавлен параметр microsecond.
| DateTimeImmutable::__construct | Микросекунды теперь заполняются фактическим значением, а не значением '00000'.
| DateTimeImmutable::setTime | Добавили параметр microsecond.
| DateTimeZone::listIdentifiers | Параметр countryCode теперь принимает значение null.
| array_rand | Внутренний алгоритм выбора случайных элементов изменился с функции rand библиотеки libc на генератор случайных чисел на базе Вихря Мерсе́нна.
| curl_multi_setopt | Добавили константу CURLMOPT_PUSHFUNCTION.
| exif_imagetype | Добавлена поддержка WebP.
| file_get_contents | Добавили поддержку отрицательных значений для смещения offset.
| get_headers | Добавлен параметр context.
| getenv | Теперь, чтобы получить ассоциативный массив (array) всех переменных окружения, параметр name можно не указывать.
| getimagesize | Добавили поддержку формата WebP.
| getopt | Добавлен параметр rest_index.
| grapheme_extract | Добавлена поддержка отрицательных значений offset.
| grapheme_stripos | Параметр offset теперь поддерживает отрицательные значения.
| grapheme_strpos | Параметр offset теперь поддерживает отрицательные значения.
| grapheme_strrpos | Параметр offset теперь поддерживает отрицательные значения.
| hash_algos | Добавили поддержку алгоритмов sha512/224, sha512/256, sha3-224, sha3-256, sha3-384 и sha3-512.
| iconv_strpos | Поддержка отрицательных значений offset.
| json_decode | Пустой ключ JSON ("") будет преобразован в пустое свойство объекта, а не в свойство со значением _empty_.
| json_encode | Добавлена константа JSON_UNESCAPED_LINE_TERMINATORS для параметра flags.
| json_encode | При кодировании чисел с плавающей точкой (float) вместо значения директивы precision функция учитывает значение директивы serialize_precision.
| list | Конструкция list теперь поддерживает ключи. Это помогает разыменовывать ассоциативные массивы и массивы с индексами не по порядку.
| long2ip | Тип параметра ip изменился со string на int.
| mb_ereg | Теперь функция mb_ereg устанавливает параметр matches равным пустому массиву (array), если ничего не найдено. Ранее параметр matches не изменялся.
| mb_ereg_replace | Функция проверяет, допустима ли строка string для текущей кодировки.
| mb_ereg_replace | Модификатор e объявлен устаревшим.
| mb_ereg_replace_callback | Функция проверяет, допустима ли строка string для текущей кодировки.
| mb_ereg_search_setpos | Добавлена поддержка параметром offset отрицательных значений.
| mb_eregi | Функция mb_eregi устанавливает значение параметра matches равным пустому массиву, если ничего не найдено. Ранее при отсутствии совпадений параметр matches не изменялся.
| mb_eregi_replace | Функция проверяет, является ли строка string допустимой для текущей кодировки.
| mb_eregi_replace | Модификатор e объявлен устаревшим.
| mb_regex_set_options | Опция «e» теперь выдаёт ошибку уровня ValueError.
| mb_strimwidth | Добавлена поддержка отрицательных значений для параметров start и width.
| mb_stripos | Добавили поддержку отрицательных значений параметром offset.
| mb_strpos | Добавили поддержку отрицательных значений параметром offset.
| mt_rand | Функция rand стала псевдонимом функции mt_rand.
| mt_rand | Функцию mt_rand обновили и теперь функция генерирует значения через корректную версию генератора случайных чисел на основе Вихря Мерсенна. Старое поведение получают через функцию mt_srand с аргументом MT_RAND_PHP для второго параметра.
| mt_srand | Функция srand стала псевдоним функции mt_srand.
| mt_srand | Алгоритм функции mt_rand исправили и теперь функция работает с корректной версией Вихря Мерсе́нна. Для возврата к старому поведению во второй параметр функции mt_srand передают константу MT_RAND_PHP.
| openssl_csr_new | Параметр options теперь поддерживает curve_name.
| openssl_decrypt | Добавили параметры tag и aad.
| openssl_encrypt | Добавили параметры tag, aad и tag_length.
| openssl_pkey_new | Для параметра options добавили ключ curve_name, чтобы создавать EC-ключи на основе алгоритмов эллиптических кривых.
| output_add_rewrite_var | Начиная с PHP 7.1.0 функция работает с выделенным буфером вывода, директива url_rewriter.tags учитывается только при работе с функциями вывода, а директива url_rewriter.hosts доступна. До PHP 7.1.0 переменные перезаписи, которые установили функцией output_add_rewrite_var, работали с общим буфером вывода с поддержкой прозрачного идентификатора сессии. Смотрите описание директивы session.trans_sid_tags.
| output_reset_rewrite_vars | До PHP 7.1.0, переменные перезаписи установленные функцией output_add_rewrite_var используют тот же буфер модуля сессии "trans sid". С PHP 7.1.0, используется отдельный буфер и output_reset_rewrite_vars только удаляет переменные перезаписи определённые output_add_rewrite_var.
| pcntl_signal | Начиная с PHP 7.1.0 callback-функции обработчика передаётся второй аргумент, который содержит структуру siginfo с со специфичной информацией о сигнале. Эти данные передаются, только если операционная система поддерживает структуры siginfo_t, а если в ОС не реализовали поддержку структур siginfo_t, передаётся значение NULL.
| pcntl_signal_get_handler | Была добавлена функция pcntl_signal_get_handler.
| pg_fetch_all | Добавлен параметр mode.
| pg_last_notice | Добавлен параметр mode.
| pg_select | Добавили параметр mode.
| rand | Функция rand стала синонимом функции mt_rand.
| session_start | Функция session_start теперь возвращает значение false и больше не инициализирует суперглобальный массив $_SESSION, если не получилось запустить сессию.
| shuffle | Внутренний алгоритм генерации случайных чисел изменился с функции rand библиотеки libc на генератор на базе Вихря Мерсе́на.
| srand | Функция srand стала синонимом функции mt_srand.
| str_shuffle | Внутренний алгоритм генерации случайных чисел изменился с функции rand библиотеки libc на генератор на базе Вихря Мерсе́на.
| stripos | Добавили поддержку отрицательных значений параметром offset.
| strpos | Добавили поддержку отрицательных значений параметром offset.
| substr_count | Добавили поддержку отрицательных значений параметрами offset и length. Параметр length теперь допускает значение 0.
| tempnam | tempnam теперь выдаёт уведомление при возврате во временный каталог системы.
| unpack | Добавили необязательный параметр offset.
| unserialize | Для элемента allowed_classes в параметре options определили строгий тип, поэтому функция unserialize вернёт значение false и вызовет ошибку уровня E_WARNING, если в элементе передали значение не с типом array или bool.
| ReflectionType::__toString | Метод ReflectionType::__toString объявлен устаревшим.
| SessionHandler::gc | До этой версии, в случае успешного выполнения эта функция возвращала true.
| SessionHandlerInterface::gc | До этой версии, функция возвращала true в случае успешного выполнения.
7.0.16 | dns_get_record | Добавили поддержку записей типа CAA.
| fopen | Добавили флаг 'e'.
7.0.15 | get_defined_functions | Добавили параметр exclude_disabled.
| pack | Добавили коды e, E, g и G для поддержки порядка байтов для типов float и double.
7.0.11 | iconv_substr | Если string имеет длину равную offset, будет возвращена пустая строка. Ранее в подобных случаях возвращалось false.
7.0.10 | imagetypes | Добавлена константа IMG_WEBP.
| SplFileObject::getCsvControl | В массив с результатами добавили символ экранирования.
| SQLite3::__construct | Параметр filename разрешается задавать пустой строкой, чтобы создать на диске приватную временную базу данных.
7.0.9 | getenv | Добавлен параметр local_only.
7.0.7 | curl_multi_setopt | Добавили константы CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, CURLMOPT_MAX_HOST_CONNECTIONS, CURLMOPT_MAX_PIPELINE_LENGTH и CURLMOPT_MAX_TOTAL_CONNECTIONS.
| curl_setopt | Добавили параметры CURL_HTTP_VERSION_2, CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE, CURL_HTTP_VERSION_2TLS, CURL_REDIR_POST_301, CURL_REDIR_POST_302, CURL_REDIR_POST_303, CURL_REDIR_POST_ALL, CURL_VERSION_KERBEROS5, CURL_VERSION_PSL, CURL_VERSION_UNIX_SOCKETS, CURLAUTH_NEGOTIATE, CURLAUTH_NTLM_WB, CURLFTP_CREATE_DIR, CURLFTP_CREATE_DIR_NONE, CURLFTP_CREATE_DIR_RETRY, CURLHEADER_SEPARATE, CURLHEADER_UNIFIED, CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE, CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE, CURLMOPT_MAX_HOST_CONNECTIONS, CURLMOPT_MAX_PIPELINE_LENGTH, CURLMOPT_MAX_TOTAL_CONNECTIONS, CURLOPT_CONNECT_TO, CURLOPT_DEFAULT_PROTOCOL, CURLOPT_DNS_INTERFACE, CURLOPT_DNS_LOCAL_IP4, CURLOPT_DNS_LOCAL_IP6, CURLOPT_EXPECT_100_TIMEOUT_MS, CURLOPT_HEADEROPT, CURLOPT_LOGIN_OPTIONS, CURLOPT_PATH_AS_IS, CURLOPT_PINNEDPUBLICKEY, CURLOPT_PIPEWAIT, CURLOPT_PROXY_SERVICE_NAME, CURLOPT_PROXYHEADER, CURLOPT_SASL_IR, CURLOPT_SERVICE_NAME, CURLOPT_SSL_ENABLE_ALPN, CURLOPT_SSL_ENABLE_NPN, CURLOPT_SSL_FALSESTART, CURLOPT_SSL_VERIFYSTATUS, CURLOPT_STREAM_WEIGHT, CURLOPT_TCP_FASTOPEN, CURLOPT_TFTP_NO_OPTIONS, CURLOPT_UNIX_SOCKET_PATH, CURLOPT_XOAUTH2_BEARER, CURLPROTO_SMB, CURLPROTO_SMBS, CURLPROXY_HTTP_1_0, CURLSSH_AUTH_AGENT и CURLSSLOPT_NO_REVOKE.

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open