Содержание

24 сентября 2026 года вышел релиз-кандидат PHP 8.6, а стабильная версия ожидается 19 ноября. В ней появятся частичное применение функций, функция clamp() и более безопасные настройки сессий по умолчанию. Владельцам проектов на PHP сейчас важнее другое: в тот же день вышли обновления безопасности для веток 8.2–8.5, а поддержка PHP 8.2 заканчивается в конце 2026 года.

Разберём, что изменилось, кого это касается и какой план обновления разумен.

Что вышло в сентябре 2026 года?

24 сентября команда PHP опубликовала PHP 8.6.0 RC2 — первый релиз-кандидат новой версии — и одновременно обновления безопасности для всех поддерживаемых веток. По данным новостей php.net, номер RC1 пропустили из-за ошибки при упаковке, поэтому первым кандидатом стал сразу RC2.

Версия Что вышло Что это значит
PHP 8.6.0 RC2 Первый релиз-кандидат Набор функций заморожен, можно тестировать совместимость
PHP 8.5.11 Обновление безопасности Стоит установить в ближайшее время
PHP 8.4.26 Обновление безопасности Стоит установить в ближайшее время
PHP 8.3.35 Обновление безопасности Стоит установить в ближайшее время
PHP 8.2.34 Обновление безопасности Ветка получает исправления безопасности до конца 2026 года

Следующий релиз-кандидат, RC3, запланирован на 8 октября, а выход стабильной версии, по данным Laravel News, ожидается 19 ноября 2026 года.

Что нового в PHP 8.6?

В PHP 8.6 появятся частичное применение функций, функция clamp(), новые возможности для работы с потоками и URI, а также более безопасные значения по умолчанию для сессий. Полный список изменений и устаревших возможностей — в файле UPGRADING репозитория php-src.

Частичное применение функций

Можно вызвать функцию с частью аргументов и получить замыкание, которое примет остальные. Пропущенный аргумент обозначается ?:

$makeSlug = str_replace(' ', '-', ?);

$makeSlug('Hello World'); // Hello-World

clamp() и безопасные сессии

clamp() ограничивает значение диапазоном — привычная задача, которую раньше решали комбинацией min() и max():

clamp(150, min: 0, max: 100); // 100

Для новых установок меняются значения по умолчанию настроек сессий: включаются строгий режим, флаг HttpOnly у cookie сессии и атрибут SameSite=Lax. На существующих серверах настройки из вашего php.ini сохраняются, но стоит проверить, что они уже выставлены так же.

Ноутбук с открытым редактором кода на столе Фото: Unsplash

Кого касаются эти изменения прямо сейчас?

Прямо сейчас изменения касаются всех, у кого проект работает на PHP: обновления безопасности вышли для всех поддерживаемых веток, а владельцам проектов на PHP 8.2 и старше пора планировать переход. Новые возможности 8.6 понадобятся позже — после стабильного релиза и поддержки со стороны фреймворков.

Что сделать:

  1. Установить свежие обновления безопасности своей ветки PHP — это патч-версии, они не ломают совместимость.
  2. Проверить версию PHP на продакшене. Если это 8.2 — до конца года нужно перейти на 8.3 или новее; если старше 8.2 — обновления безопасности уже не выходят.
  3. Сверить требования фреймворка. Официальный минимум Laravel 13 — PHP 8.3, но начиная с версии 13.3 его зависимости из Symfony 8 требуют PHP 8.4 (обсуждение в репозитории Laravel). Следующей мажорной версии, Laravel 14, по данным Laravel News, тоже потребуется PHP 8.4 — на практике ориентируйтесь на него.
  4. Прогнать тесты на PHP 8.6 RC в CI, если проект активно развивается, — так проблемы совместимости найдутся до стабильного релиза.

Как спланировать обновление PHP?

Обновление PHP планируют как обычную задачу: сначала тесты и статический анализ на новой версии, затем обновление зависимостей, затем тестовое окружение и только потом продакшен. Переход через одну-две версии обычно проходит спокойно, если проект регулярно обновляется.

# Проверка совместимости в CI на нескольких версиях PHP
strategy:
  matrix:
    php: ['8.4', '8.5', '8.6']
steps:
  - uses: shivammathur/setup-php@v2
    with:
      php-version: ${{ matrix.php }}
  - run: composer install --no-interaction
  - run: vendor/bin/phpunit

Для стабильных проектов разумно обновляться на новую версию PHP через несколько месяцев после её выхода, когда её поддержат фреймворк и основные библиотеки. Регулярные небольшие обновления обходятся дешевле, чем переход через несколько версий сразу.

Коротко

  • 24 сентября вышли PHP 8.6.0 RC2 и обновления безопасности для PHP 8.2–8.5.
  • Стабильный PHP 8.6 ожидается 19 ноября 2026 года: частичное применение функций, clamp(), безопасные сессии по умолчанию.
  • Установите обновления безопасности своей ветки уже сейчас.
  • PHP 8.2 получает исправления безопасности до конца 2026 года — пора планировать переход.
  • Добавьте PHP 8.6 RC в матрицу CI, чтобы заранее найти проблемы совместимости.

Частые вопросы

  • Можно ли ставить PHP 8.6 RC на продакшен?

    Нет, релиз-кандидаты предназначены для тестирования. Используйте их в CI и на тестовом окружении, а на продакшен переходите после стабильного релиза и поддержки со стороны фреймворка.

  • Что будет, если остаться на PHP 8.2 после конца поддержки?

    Сайт продолжит работать, но новые уязвимости в PHP 8.2 больше не будут исправляться. Со временем перестанут обновляться и библиотеки, поэтому переход лучше запланировать заранее.

  • Сколько времени занимает обновление версии PHP?

    Для регулярно обновляемого проекта с тестами — обычно дни. Для проекта, который несколько лет не обновлялся, переход может потребовать обновления фреймворка и заметной доработки кода.