Функции setcookie() и setrawcookie() теперь также поддерживают следующее объявление (сигнатуру):
где$options - ассоциативный массив, который может иметь любой из ключей
"expires", "path",
"domain", "secure",
"httponly" и "samesite".
Следующие ini-директивы добавлены для настройки логирования, если для опции
error_log установлено значение
syslog:
all, no-ctrl и ascii.
Начиная с PHP 7.3.8, также доступен тип raw,
восстанавливающий поведение системного журнала в предыдущих версиях PHP.
Этот фильтр также повлияет на вызовы syslog().
Улучшен сбор циклических ссылок, что может привести к значительным улучшениям производительности.
Функция var_export() теперь экспортирует объекты stdClass
в качестве массива, приведённых к объекту ((object) array( ... )), вместо
использования несуществующего метода stdClass::__setState().
Функция debug_zval_dump() изменена для отображения рекурсивных массивов и объектов так же, как и var_dump(). Теперь она не отображает их дважды.
Функции array_push() и array_unshift() теперь также могут быть вызваны с одним аргументом, что особенно удобно в сочетании с оператором распространения.
Удалены неиспользуемые константы PHPDBG_FILE,
PHPDBG_METHOD, PHPDBG_LINENO и
PHPDBG_FUNC.
Теперь также доступна функция getallheaders().
Теперь требуется библиотека libcurl версии ≥ 7.15.5.
FILTER_VALIDATE_FLOAT теперь также поддерживает параметр thousand,
который определяет набор разрешённых символов-разделителей для тысяч.
Значение по умолчанию ("',.") полностью обратно совместимо с предыдущими версиями PHP.
FILTER_SANITIZE_ADD_SLASHES был добавлен в качестве псевдонима фильтра
magic_quotes (FILTER_SANITIZE_MAGIC_QUOTES).
Фильтр magic_quotes подлежит удалению в будущих версиях PHP.
Режим по умолчанию изменён на binary.
Константа Normalizer::NONE объявлена устаревшей, когда PHP скомпилирован
с ICU версии ≥ 56.
Введена константа Normalizer::FORM_KC_CF в качестве аргумента Normalizer::normalize()
для нормализации NFKC_Casefold; доступна, когда есть ICU ≥ 56.
Добавлен новый флаг JSON_THROW_ON_ERROR, который можно использовать с
json_decode() или json_encode() и заставляет эти функции
выбрасывать новое исключение JsonException в случае возникновения ошибки, вместо того,
чтобы устанавливать глобальное состояние ошибки, которое извлекается с помощью json_last_error() и json_last_error_msg().
JSON_PARTIAL_OUTPUT_ON_ERROR имеет приоритет над JSON_THROW_ON_ERROR.
Конфигурационная опция --with-libmbfl больше недоступна.
Поддержка ODBCRouter и Birdstep,
включая ini-директиву birdstep.max_links была удалена.
Удалена ini-директива opcache.inherited_hack. Это значение уже игнорировалось с PHP 5.3.0.
Добавлены опции потока ssl min_proto_version и max_proto_version,
а также соответствующие с ними константы для возможных значений протокола TLS.
Модуль PCRE был обновлён до PCRE2, что может привести к незначительным изменениям в поведении (например, диапазоны символов в классах теперь интерпретируются более строго) и дополняет существующий синтаксис регулярных выражений.
Функция preg_quote() теперь также экранирует символ '#'.
Добавлен атрибут PDO::DBLIB_ATTR_SKIP_EMPTY_ROWSETS
для автоматического пропуска пустых наборов строк.
Добавлен атрибут PDO::DBLIB_ATTR_TDS_VERSION
который представляет версию TDS.
Столбцы DATETIME2 теперь обрабатываются как столбцы DATETIME.
Базы данных SQLite3 теперь можно открыть в режиме только для чтения,
установив новый атрибут PDO::SQLITE_ATTR_OPEN_FLAGS
на значение PDO::SQLITE_OPEN_READONLY.
Функция session_set_cookie_params() теперь также поддерживает следующее объявление (сигнатуру):
где$options - ассоциативный массив, который может иметь любой из ключей
"lifetime", "path",
"domain", "secure",
"httponly" и "samesite".
Соответственно, возвращаемое значение session_get_cookie_params()
теперь также имеет элемент с ключом "samesite".
Кроме того, новая ini-опция session.cookie_samesite для установки по умолчанию директивы SameSite для cookies.
По умолчанию используется значение "" (пустая строка),
поэтому директива SameSite не задана.
Может быть установлена на значение "Lax" или "Strict",
которое устанавливает соответствующее значение директиве SameSite.
Сборка вместе » tidyp теперь также поддерживается прозрачно.
Поскольку tidyp не предлагает API для получения даты релиза,
tidy_get_release() и tidy::getRelease() возвращает значение 'unknown' в этом случае.
Возвращаемое значение callback-функции xml_set_external_entity_ref_handler() больше не игнорируется, если модуль был собран с библиотекой libxml. Ранее возвращаемое значение игнорировалось, а парсинг никогда не прекращался.
Сборка с использованием libzip, входящего в PHP, не рекомендуется, но всё же возможна путём добавления --without-libzip в конфигурацию.
Добавлен параметр контекста zlib/level для обёртки compress.zlib, чтобы облегчить установку желаемого уровня сжатия.