Обзор PHP 8.6: что войдёт в релиз 19 ноября и как готовиться

21 октября 2026 года вышел PHP 8.6.0 RC4 — четвёртый релиз-кандидат новой версии языка. По графику на вики PHP финальный выпуск запланирован на 19 ноября 2026 года, перед ним — RC5 5 ноября. Список возможностей зафиксирован, в ветку принимают только исправления. Разбираем, что войдёт в PHP 8.6 и как подготовить сайты на WordPress, 1С-Битрикс и Laravel.
Сроки
| Этап | Дата |
|---|---|
| Alpha 1 | 02.07.2026 |
| Beta 1, мягкая заморозка функций | 13.08.2026 |
| Жёсткая заморозка функций | 22.09.2026 |
| RC2 (RC1 пропущен) | 24.09.2026 |
| RC3 | 08.10.2026 |
| RC4 | 21.10.2026 |
| RC5 | 05.11.2026 |
| Финальный выпуск | 19.11.2026 |
Релиз-кандидат RC1 пропустили из-за ошибки упаковки. Релиз-менеджеры ветки — Дэниел Шерцер, Маттео Беккати и Джо Фергюсон.
Что нового в PHP 8.6
По списку реализованных RFC на вики PHP и описанию LinuxCompatible:
Частичное применение функций. Если передать `?` вместо аргумента или `...` вместо оставшихся, функция вернёт замыкание, которое примет недостающие аргументы позже. Это упрощает передачу функций в обработчики и конвейеры.
clamp(). Встроенная функция ограничивает значение диапазоном — вместо привычной вложенной конструкции из `max()` и `min()`.
Класс Duration. Новый класс для длительностей в расширении date.
Значения по умолчанию для readonly-свойств. Неизменяемым свойствам можно задать значение по умолчанию.
Polling API. Нативный механизм опроса потоков, который должен заменить `stream_select()`.
Ошибки потоков. Структурированная обработка ошибок в потоках.
mysqli_quote_string(). Экранирование и заключение строки в кавычки за один вызов.
Среди других RFC: атрибут `#[\Override]` для констант классов, `enum SortDirection`, отладочный вывод перечислений, аргументы функций в сообщениях об ошибках, `grapheme_strrev()`, поддержка символа перевода страницы в функциях trim, возобновление TLS-сессий для потоков.

Что может сломаться
Ряд RFC меняет поведение или помечает старое устаревшим:
- возврат значения из `__construct()` и `__destruct()` объявлен устаревшим — будут предупреждения;
- безопасные настройки сессий по умолчанию — RFC «Secure Session Configuration Defaults» меняет значения по умолчанию для сессий; если сайт полагался на старые значения, проверьте авторизацию и корзину;
- ограничение числа цепочек фильтров — защитная мера для потоковых фильтров;
- окончание сопровождения Oniguruma и mbregex — RFC затрагивает функции регулярных выражений `mb_ereg*`; если они есть в коде, проверьте статус по тексту RFC;
- минимальные поддерживаемые версии — принят отдельный RFC о минимальных версиях зависимостей для PHP 8.6.
Окончательный список изменений совместимости будет в руководстве по миграции на php.net после выхода версии.
Как проверить сайт на совместимость
Проверку стоит начать до выхода финальной версии — тогда к моменту, когда CMS объявит поддержку, вы уже будете знать свои проблемные места.
- Статический анализ. Инструменты вроде PHPCompatibility для PHP_CodeSniffer или PHPStan с актуальной версией PHP показывают устаревшие конструкции без запуска кода.
- Тестовая копия. Поднимите копию сайта на сервере с PHP 8.6 RC и включите вывод всех предупреждений в журнал.
- Ключевые сценарии. Вход и регистрация (из-за новых настроек сессий), корзина и оформление заказа, формы заявок, обмен с 1С, отправка писем.
- Журнал ошибок. После прогона соберите предупреждения об устаревании — это список работ на ближайшие версии, даже если сайт работает.
- Плагины и модули. Составьте список тех, что давно не обновлялись: именно они чаще всего не готовы к новой версии PHP.
Для сайтов на CMS последний пункт обычно и определяет срок перехода: ядро WordPress или Битрикса поддерживает новую версию PHP раньше, чем старый платный модуль, купленный несколько лет назад.
Кого касается
- владельцев сайтов на CMS — WordPress, 1С-Битрикс, Joomla: совместимость ядра и плагинов с 8.6 появится не сразу;
- проектов на Laravel и Symfony — фреймворки обычно поддерживают новую версию PHP вскоре после выхода;
- хостингов и администраторов серверов;
- разработчиков библиотек.
Стоит ли обновляться
- Рабочие сайты. Не в день выхода. Дождитесь поддержки 8.6 вашей CMS, ключевых плагинов и модулей и первого корректирующего выпуска.
- Сайты на PHP 8.2. Поддержка 8.2 заканчивается 31 декабря 2026 года. Разумная цель сейчас — PHP 8.4 или 8.5, а не 8.6.
- Новые проекты. Можно закладывать 8.6, если фреймворк уже заявил поддержку.
- Разработчикам. Прогоните тесты на RC4 уже сейчас: найденные ошибки ещё успеют исправить до финала.
- Безопасность. Независимо от планов на 8.6, обновите текущую ветку до последнего выпуска: 21 октября вышли 8.5.12, 8.4.27, 8.3.36 и 8.2.35 с исправлением критических уязвимостей.
Плюсы и минусы
Плюсы: удобнее работа с функциями и значениями, нативный опрос потоков, безопаснее настройки сессий по умолчанию.
Минусы: изменения поведения сессий и регулярных выражений требуют проверки, а экосистема CMS догоняет новые версии PHP с задержкой.
Наше мнение
Мы считаем PHP 8.6 эволюционным релизом: он делает код короче и безопаснее, но не требует переписывать проекты. Важнее для бизнеса другое — не отставать на несколько версий. Что мы советуем клиентам: держать сайты на поддерживаемой ветке с последними исправлениями, а переход на новую мажорную версию планировать через два-три месяца после её выхода, когда подтянутся CMS и плагины. Подробнее о подготовке — в статье об устаревшем PHP на хостинге.
Материалы для проверки
Если нужна реализация
Состав работ зависит от текущего проекта и подтверждённой причины. Можно обсудить диагностику или разработку подходящего решения.
Вопросы и ответы
Когда выйдет PHP 8.6?
По графику на вики PHP — 19 ноября 2026 года. RC4 вышел 21 октября, RC5 запланирован на 5 ноября.
Что главное в PHP 8.6?
Частичное применение функций, функция clamp(), класс Duration, значения по умолчанию для readonly-свойств, Polling API и безопасные настройки сессий по умолчанию.
Стоит ли сразу переводить сайт на PHP 8.6?
Рабочие сайты — нет. Дождитесь поддержки вашей CMS и плагинов и первого корректирующего выпуска. Сейчас разумная цель — PHP 8.4 или 8.5.
Что будет с PHP 8.2?
Поддержка PHP 8.2 заканчивается 31 декабря 2026 года. Последний выпуск ветки на 23 октября — 8.2.35 с исправлением критических уязвимостей.
Можно ли протестировать PHP 8.6 сейчас?
Да, на тестовом сервере с RC4. Это полезно для разработчиков: найденные ошибки ещё успеют исправить до финального выпуска.
Сломаются ли сессии на сайте?
Возможно, если сайт полагался на старые значения настроек сессий по умолчанию. Проверьте вход, корзину и формы на тестовой копии.