Нова функціональність
Ядро PHP
Атрибут SensitiveParameter
Добавлен атрибут#[\SensitiveParameter]
для редагування конфіденційних даних у трасуваннях стека викликів.
INI-директива error_log_mode
Додано INI-директиву error_log_mode, яка дозволяє встановити дозволи для файлу журналу помилок.
Властивості перерахувань у константних виразах
Тепер можна отримувати властивості перерахувань у константних виразах.
Поліпшення системи типів
Тепер можна використовувати null та false як самостійні типи.
Доданий тип true.
Тепер можна комбінувати перетин та об'єднання типів. Тип має бути записаний у вигляді DNF.
Константи у трейтах
Тепер у трейтах можна визначати константи.
Класи, доступні лише для читання
Добавлена поддержкаreadonly для класів
cURL
Добавлена опция**CURLINFO_EFFECTIVE_METHOD
**, яка повертає останній використаний метод HTTP у значенні функції, що повертається curl_getinfo()
Стало доступнобезліч нових константиз libcurl 7.62 - 7.80.
Добавлена функцияcurl_upkeep() для виконання будь-яких перевірок відновлення з'єднання.
DBA
Драйвер LMDB тепер приймає прапори DBA_LMDB_USE_SUB_DIR
або DBA_LMDB_NO_SUB_DIR
, щоб визначити, чи має він створювати підкаталог чи ні під час створення файлу бази даних.
OCI8
Додано INI-директиву oci8.prefetch_lob_sizeи функцияoci_set_prefetch_lob() для налаштування продуктивності LOB-запитів шляхом зменшення кількості обходів між PHP та базами даних Oracle під час вибірки LOBS. Її можна використовувати з Oracle Database 12.2 або пізнішою версією.
OpenSSL
Додано підтримку AEAD-алгоритму chacha20-poly1305.
ODBC
Додані функції odbc_connection_string_is_quoted() odbc_connection_string_should_quote() і odbc_connection_string_quote(). В основному вони використовуються всередині самих модулів ODBC та PDO_ODBC, але полегшення модульного тестування тепер доступні ззовні. Крім цього, ними можна скористатися для екранування рядка з програм користувача.
PCRE
Добавлена поддержка модификатораn
(NO_AUTO_CAPTURE), який робить прості групи (xyz)
не перехоплюються. Перехоплюються лише іменовані групи типу (?<name>xyz)
. Це впливає тільки на те, які групи перехоплюються, як і раніше, можна використовувати нумеровані посилання на підшаблони і масив збігів, як і раніше, буде містити нумеровані результати.
Random
Це новий модуль, який організовує та консолідує існуючі реалізації, пов'язані з генераторами випадкових чисел. У нових та покращених ДСЛ усунуто проблеми, пов'язані з областю їх застосування.