Нова функціональність

Ядро 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

Це новий модуль, який організовує та консолідує існуючі реалізації, пов'язані з генераторами випадкових чисел. У нових та покращених ДСЛ усунуто проблеми, пов'язані з областю їх застосування.