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

Поддержка PHP 8.1 закончилась: как обновиться

Официальная поддержка PHP 8.1 завершилась 31 декабря 2025 года. Переходите на PHP 8.3 или 8.4: план миграции, риски и чек-лист.

Поддержка PHP 8.1 закончилась: что это значит для вашего сайта

Ветка PHP 8.1 больше не получает официальных обновлений, в том числе исправлений безопасности. Чтобы не оставлять сайт без защиты, перейдите на PHP 8.3 или 8.4, предварительно проверив код на тестовой копии.

31 декабря 2025 года — дата, после которой разработчики PHP перестали закрывать уязвимости в версии 8.1.

Если ваш интернет-магазин, корпоративный сайт или веб-приложение до сих пор работает на PHP 8.1, откладывать обновление не стоит. Ниже разберём, что именно закончилось, какие риски появляются, на какую версию переходить и как провести миграцию безопасно, не потеряв заказы и позиции в Яндексе и Google.

Что именно закончилось

У каждой ветки PHP есть жизненный цикл из двух этапов. Сначала идёт активная поддержка: разработчики исправляют ошибки и закрывают уязвимости. Затем наступает период поддержки безопасности, когда выпускаются только патчи для критичных уязвимостей. После этого ветка считается снятой с поддержки (EOL, end of life).

PHP 8.1 вышел 25 ноября 2021 года. Он принёс перечисления (enum), свойства только для чтения (readonly), файберы и ряд других улучшений, и многие проекты охотно на него переехали. Активная поддержка закончилась 25 ноября 2023 года, а 31 декабря 2025 года завершился и период исправлений безопасности.

Простыми словами: с этой даты любая новая уязвимость, найденная в движке PHP 8.1, официально исправляться не будет. Сайт продолжит работать, но защищать его придётся самостоятельно, а это почти всегда хуже, чем просто обновиться.

01 / релиз
25 ноября 2021

Выход PHP 8.1: enum, readonly-свойства, файберы, never-тип.

02 / активная поддержка
25 ноября 2023

Завершено исправление обычных ошибок. Остаются только патчи безопасности.

03 / безопасность
31 декабря 2025

Последняя дата выпуска исправлений уязвимостей для ветки 8.1.

04 / сейчас
Ветка снята с поддержки

Новые уязвимости остаются открытыми. Нужен переход на 8.3 или 8.4.

Почему «работает — не трогай» больше не подходит

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

Злоумышленники внимательно следят за списками снятых с поддержки версий, ведь для них это готовый набор целей. Автоматические сканеры ищут сайты на устаревших ветках PHP, и чем дольше версия остаётся без патчей, тем больше публично известных уязвимостей накапливается.

Чем опасно оставаться на PHP 8.1

  1. 01

    Открытые уязвимости: новые проблемы безопасности в ядре PHP 8.1 больше не закрываются официальными патчами

  2. 02

    Взлом и потеря данных: через уязвимый сервер можно получить доступ к базе клиентов, заказам и платёжным данным

  3. 03

    Пометки об угрозах в поиске: зараженный сайт получает уведомления в Яндекс Вебмастере и Google Search Console, а браузеры показывают пользователям предупреждение

  4. 04

    Несовместимость с новыми версиями CMS, плагинов и фреймворков: например, современные релизы Laravel и Symfony уже требуют PHP 8.2 и выше

  5. 05

    Требования заказчиков и аудиторов: при проверках безопасности и защите персональных данных устаревшая среда исполнения — частая причина замечаний

  6. 06

    Растущий технический долг: чем дольше откладываете, тем больше изменений придётся внести за один раз

На какую версию переходить

Логично выбрать самую свежую стабильную ветку, у которой остаётся максимальный срок поддержки. Сегодня это PHP 8.4, вышедший в ноябре 2024 года. Вышла и PHP 8.5, но для рабочих проектов обычно берут версию, которая уже прошла «обкатку» в экосистеме: плагины, библиотеки и хостинги успели её поддержать.

Если код старый или в нём много самописных решений, можно сделать переход в два этапа: сначала PHP 8.3, затем 8.4. Так проще локализовать проблемы, потому что ошибки каждой версии приходят порциями. Версию 8.2 как цель выбирать не стоит: её поддержка безопасности закончится уже в конце 2026 года, и обновляться придётся повторно.

Версия PHPДата выходаАктивная поддержка доИсправления безопасности доРекомендация
PHP 8.125.11.202125.11.202331.12.2025Снята с поддержки, обновить
PHP 8.208.12.202231.12.202431.12.2026Временный вариант
PHP 8.323.11.202331.12.202531.12.2027Хороший выбор для плавной миграции
PHP 8.421.11.202431.12.202631.12.2028Оптимальная цель

Что вы получите вместе с обновлением

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

При этом при переходе с 8.1 придётся учесть и несколько важных изменений. Главное из них: в PHP 8.2 динамические свойства объектов объявлены устаревшими и выводят предупреждения Deprecated, а в PHP 8.4 так же помечены неявно допускающие null типы параметров. Эти места нужно найти и поправить заранее.

php 8.2
Строже и безопаснее
  • readonly-классы
  • Типы null, false и true как самостоятельные
  • Предупреждения об устаревших динамических свойствах
php 8.3
Удобнее в работе
  • Типизированные константы классов
  • Атрибут Override для безопасного наследования
  • Функция json_validate() для проверки JSON
php 8.4
Меньше шаблонного кода
  • Property hooks вместо геттеров и сеттеров
  • Асимметричная видимость свойств
  • Функции array_find(), array_any(), array_all()

Как подойти к миграции

Безопасное обновление строится на трёх принципах: сначала инвентаризация, затем проверка на копии, и только потом переключение боевого сайта. Спешка здесь опаснее самой устаревшей версии: ошибка при «живом» обновлении может положить сайт в самый неподходящий момент.

Ниже — пошаговый план, который подойдёт и для сайта на CMS (WordPress, 1С-Битрикс и других), и для проекта на фреймворке вроде Laravel или Symfony.

Пошаговый план перехода с PHP 8.1 на 8.3 или 8.4

  1. 01

    Определите текущую версию: выполните команду php -v на сервере, откройте phpinfo() или посмотрите настройку в панели хостинга.

  2. 02

    Составьте инвентаризацию: версия CMS или фреймворка, список плагинов и модулей, файл composer.json, используемые расширения PHP (curl, gd, intl, imagick и другие).

  3. 03

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

  4. 04

    Разверните тестовую копию сайта (staging) или контейнер Docker с целевой версией PHP. Не проверяйте обновление на боевом сервере.

  5. 05

    Прогоните статический анализ: PHPStan или Psalm найдут ошибки типов, PHP_CodeSniffer с набором PHPCompatibility покажет несовместимый код, а Rector автоматически перепишет многие устаревшие конструкции.

  6. 06

    Включите вывод ошибок уровня E_ALL на тестовой копии и пройдите ключевые сценарии: регистрацию, корзину, оплату, формы заявок, личный кабинет. Обратите внимание на сообщения Deprecated.

  7. 07

    Обновите зависимости: выполните composer update, обновите CMS, темы и плагины до версий, которые заявляют поддержку нужной ветки PHP, замените заброшенные модули.

  8. 08

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

  9. 09

    После запуска отслеживайте показатели: ошибки сервера в Яндекс Вебмастере и Google Search Console, динамику конверсий и целей в Яндекс Метрике и Google Analytics.

Хорошая практика — закрепить минимальную версию PHP прямо в composer.json, чтобы зависимости подбирались с учётом целевой ветки. А если в проекте нет автоматических тестов, хотя бы составьте список из 10–15 критичных пользовательских сценариев и проходите его при каждом обновлении.

Главная ошибка: обновить PHP «на живую» без проверки

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

Как делать не стоит

  • Менять версию на боевом сайте в разгар рабочего дня или распродажи
  • Не делать резервную копию и не проверять, что она восстанавливается
  • Не обновлять плагины и темы перед сменой версии PHP
  • Отключать вывод ошибок и не смотреть логи после переключения

Как правильно

  1. 01

    Сначала проверить обновление на тестовой копии с той же конфигурацией

  2. 02

    Переключать версию в часы минимальной нагрузки с готовым планом отката

  3. 03

    Заранее заменить заброшенные плагины, которые не поддерживают новую ветку PHP

  4. 04

    В первые 24–48 часов следить за логами ошибок и показателями в Яндекс Метрике и Google Analytics

Что проверить после запуска

Переключение версии — это ещё не конец работы. Часть проблем проявляется не сразу, а только при определённых действиях: например, при выгрузке каталога по расписанию, отправке писем или обработке платежей. Поэтому после запуска нужно проверить и сам сайт, и всё, что вокруг него.

Отдельное внимание уделите поисковому трафику. Если после обновления страницы начали отдавать ошибки 5xx, роботы Яндекса и Google столкнутся с недоступностью сайта. Короткие сбои обычно не вредят позициям, но затяжные приводят к выпадению страниц из выдачи. Яндекс Вебмастер и Google Search Console покажут такие проблемы быстрее, чем вы заметите падение трафика.

чек-лист / после обновления
Что проверить в первые 48 часов
Журнал ошибок PHP не растёт и не содержит Fatal error
Формы заявок, корзина и оплата проходят без ошибок
Письма с сайта доходят, регулярные задачи (cron) выполняются
В Яндекс Вебмастере и Google Search Console нет всплеска ошибок 5xx
Цели и конверсии в Яндекс Метрике и Google Analytics на прежнем уровне
Скорость ответа сервера не ухудшилась, резервная копия сохранена
Некоторые дистрибутивы Linux и хостинг-провайдеры самостоятельно переносят исправления безопасности в свои пакеты PHP 8.1. Это может дать небольшую отсрочку, но не заменяет обновление: заранее уточните у провайдера, до какого срока он обещает такие патчи, и планируйте переход заранее.

Итог: обновляйтесь, пока это не сделали за вас

PHP 8.1 больше не получает исправлений безопасности. Оптимальная цель — PHP 8.4, запасной вариант — PHP 8.3.
  1. 01

    Сайт на PHP 8.1 продолжает работать, но остаётся без защиты от новых уязвимостей

  2. 02

    Выбирайте PHP 8.4 или 8.3 с максимальным оставшимся сроком поддержки

  3. 03

    Начните с инвентаризации кода, плагинов и расширений, а проверку проводите на тестовой копии

  4. 04

    Переключайте боевой сайт ночью или в часы низкой нагрузки, с планом отката

  5. 05

    После запуска следите за логами, Яндекс Вебмастером, Google Search Console, Яндекс Метрикой и Google Analytics

Чем раньше вы проведёте миграцию, тем меньше изменений придётся вносить за один раз и тем дешевле это обойдётся. Если нет времени или уверенности, доверьте обновление специалистам: аудит совместимости покажет, сколько работы действительно потребуется.

Часто задаваемые вопросы

Обновим PHP на вашем сайте без простоев и потери трафика

Проверим совместимость кода и плагинов, перенесём проект на PHP 8.3 или 8.4 и настроим мониторинг

Бесплатный аудит версииТест на копии сайтаБез простоя проекта

Сотни сайтов уже работают на актуальном PHP

Политика конфиденциальности

При оставлении заявки на ресурсе «https://gurucontext.ru» пользователи предоставляют следующие сведения:

  • Имя
  • Контактный телефон или Telegram
  • Адрес сайта пользователя (не обязательно)

Также администрация сайта получает данные об IP-адресе посетителей, типе браузера, времени нахождения на сайте и прочие подобные сведения через сервисы статистики.

Использование информации

Вся полученная информация используется администрацией «https://gurucontext.ru» исключительно в целях связи с клиентом.

Защита персональных данных

Компания «https://gurucontext.ru» обязуется не разглашать сведения, полученные от пользователей, и хранит их в защищённом виде.

Предоставление данных третьим лицам

Полученные сведения не передаются третьим лицам, за исключением случаев исполнения обязательств перед клиентом (с его разрешения) и обоснованных требований закона.

Контакты

Телефон: +7 (499) 955-47-00.
E-mail: info@gurucontext.ru.