
Поддержка PHP 8.1 закончилась: как обновиться
Официальная поддержка PHP 8.1 завершилась 31 декабря 2025 года. Переходите на PHP 8.3 или 8.4: план миграции, риски и чек-лист.
Поддержка PHP 8.1 закончилась: что это значит для вашего сайта
Ветка PHP 8.1 больше не получает официальных обновлений, в том числе исправлений безопасности. Чтобы не оставлять сайт без защиты, перейдите на PHP 8.3 или 8.4, предварительно проверив код на тестовой копии.
Если ваш интернет-магазин, корпоративный сайт или веб-приложение до сих пор работает на PHP 8.1, откладывать обновление не стоит. Ниже разберём, что именно закончилось, какие риски появляются, на какую версию переходить и как провести миграцию безопасно, не потеряв заказы и позиции в Яндексе и Google.
Что именно закончилось
У каждой ветки PHP есть жизненный цикл из двух этапов. Сначала идёт активная поддержка: разработчики исправляют ошибки и закрывают уязвимости. Затем наступает период поддержки безопасности, когда выпускаются только патчи для критичных уязвимостей. После этого ветка считается снятой с поддержки (EOL, end of life).
PHP 8.1 вышел 25 ноября 2021 года. Он принёс перечисления (enum), свойства только для чтения (readonly), файберы и ряд других улучшений, и многие проекты охотно на него переехали. Активная поддержка закончилась 25 ноября 2023 года, а 31 декабря 2025 года завершился и период исправлений безопасности.
Простыми словами: с этой даты любая новая уязвимость, найденная в движке PHP 8.1, официально исправляться не будет. Сайт продолжит работать, но защищать его придётся самостоятельно, а это почти всегда хуже, чем просто обновиться.
Выход PHP 8.1: enum, readonly-свойства, файберы, never-тип.
Завершено исправление обычных ошибок. Остаются только патчи безопасности.
Последняя дата выпуска исправлений уязвимостей для ветки 8.1.
Новые уязвимости остаются открытыми. Нужен переход на 8.3 или 8.4.
Почему «работает — не трогай» больше не подходит
Многие владельцы сайтов рассуждают просто: раз всё открывается и заказы приходят, менять ничего не нужно. С версией PHP это не работает. Язык обрабатывает каждый запрос к вашему сайту, и любая уязвимость в нём открывает путь к серверу, базе данных и персональным данным клиентов.
Злоумышленники внимательно следят за списками снятых с поддержки версий, ведь для них это готовый набор целей. Автоматические сканеры ищут сайты на устаревших ветках PHP, и чем дольше версия остаётся без патчей, тем больше публично известных уязвимостей накапливается.
Чем опасно оставаться на PHP 8.1
- 01
Открытые уязвимости: новые проблемы безопасности в ядре PHP 8.1 больше не закрываются официальными патчами
- 02
Взлом и потеря данных: через уязвимый сервер можно получить доступ к базе клиентов, заказам и платёжным данным
- 03
Пометки об угрозах в поиске: зараженный сайт получает уведомления в Яндекс Вебмастере и Google Search Console, а браузеры показывают пользователям предупреждение
- 04
Несовместимость с новыми версиями CMS, плагинов и фреймворков: например, современные релизы Laravel и Symfony уже требуют PHP 8.2 и выше
- 05
Требования заказчиков и аудиторов: при проверках безопасности и защите персональных данных устаревшая среда исполнения — частая причина замечаний
- 06
Растущий технический долг: чем дольше откладываете, тем больше изменений придётся внести за один раз
На какую версию переходить
Логично выбрать самую свежую стабильную ветку, у которой остаётся максимальный срок поддержки. Сегодня это PHP 8.4, вышедший в ноябре 2024 года. Вышла и PHP 8.5, но для рабочих проектов обычно берут версию, которая уже прошла «обкатку» в экосистеме: плагины, библиотеки и хостинги успели её поддержать.
Если код старый или в нём много самописных решений, можно сделать переход в два этапа: сначала PHP 8.3, затем 8.4. Так проще локализовать проблемы, потому что ошибки каждой версии приходят порциями. Версию 8.2 как цель выбирать не стоит: её поддержка безопасности закончится уже в конце 2026 года, и обновляться придётся повторно.
| Версия PHP | Дата выхода | Активная поддержка до | Исправления безопасности до | Рекомендация |
|---|---|---|---|---|
| PHP 8.1 | 25.11.2021 | 25.11.2023 | 31.12.2025 | Снята с поддержки, обновить |
| PHP 8.2 | 08.12.2022 | 31.12.2024 | 31.12.2026 | Временный вариант |
| PHP 8.3 | 23.11.2023 | 31.12.2025 | 31.12.2027 | Хороший выбор для плавной миграции |
| PHP 8.4 | 21.11.2024 | 31.12.2026 | 31.12.2028 | Оптимальная цель |
Что вы получите вместе с обновлением
Переход на новую версию — это не только закрытие уязвимостей. Каждая ветка PHP добавляет возможности, которые упрощают разработку и делают код чище. Разработчикам проще поддерживать проект, а значит, дешевле вносить правки и запускать новые функции.
При этом при переходе с 8.1 придётся учесть и несколько важных изменений. Главное из них: в PHP 8.2 динамические свойства объектов объявлены устаревшими и выводят предупреждения Deprecated, а в PHP 8.4 так же помечены неявно допускающие null типы параметров. Эти места нужно найти и поправить заранее.
- readonly-классы
- Типы null, false и true как самостоятельные
- Предупреждения об устаревших динамических свойствах
- Типизированные константы классов
- Атрибут Override для безопасного наследования
- Функция json_validate() для проверки JSON
- Property hooks вместо геттеров и сеттеров
- Асимметричная видимость свойств
- Функции array_find(), array_any(), array_all()
Как подойти к миграции
Безопасное обновление строится на трёх принципах: сначала инвентаризация, затем проверка на копии, и только потом переключение боевого сайта. Спешка здесь опаснее самой устаревшей версии: ошибка при «живом» обновлении может положить сайт в самый неподходящий момент.
Ниже — пошаговый план, который подойдёт и для сайта на CMS (WordPress, 1С-Битрикс и других), и для проекта на фреймворке вроде Laravel или Symfony.
Пошаговый план перехода с PHP 8.1 на 8.3 или 8.4
- 01
Определите текущую версию: выполните команду php -v на сервере, откройте phpinfo() или посмотрите настройку в панели хостинга.
- 02
Составьте инвентаризацию: версия CMS или фреймворка, список плагинов и модулей, файл composer.json, используемые расширения PHP (curl, gd, intl, imagick и другие).
- 03
Сделайте полную резервную копию файлов и базы данных и убедитесь, что из неё действительно можно восстановиться.
- 04
Разверните тестовую копию сайта (staging) или контейнер Docker с целевой версией PHP. Не проверяйте обновление на боевом сервере.
- 05
Прогоните статический анализ: PHPStan или Psalm найдут ошибки типов, PHP_CodeSniffer с набором PHPCompatibility покажет несовместимый код, а Rector автоматически перепишет многие устаревшие конструкции.
- 06
Включите вывод ошибок уровня E_ALL на тестовой копии и пройдите ключевые сценарии: регистрацию, корзину, оплату, формы заявок, личный кабинет. Обратите внимание на сообщения Deprecated.
- 07
Обновите зависимости: выполните composer update, обновите CMS, темы и плагины до версий, которые заявляют поддержку нужной ветки PHP, замените заброшенные модули.
- 08
Переключите версию на боевом сайте в период минимальной нагрузки, держа план отката наготове, и в первые сутки внимательно следите за логами ошибок.
- 09
После запуска отслеживайте показатели: ошибки сервера в Яндекс Вебмастере и Google Search Console, динамику конверсий и целей в Яндекс Метрике и Google Analytics.
Хорошая практика — закрепить минимальную версию PHP прямо в composer.json, чтобы зависимости подбирались с учётом целевой ветки. А если в проекте нет автоматических тестов, хотя бы составьте список из 10–15 критичных пользовательских сценариев и проходите его при каждом обновлении.
Главная ошибка: обновить PHP «на живую» без проверки
Как делать не стоит
- Менять версию на боевом сайте в разгар рабочего дня или распродажи
- Не делать резервную копию и не проверять, что она восстанавливается
- Не обновлять плагины и темы перед сменой версии PHP
- Отключать вывод ошибок и не смотреть логи после переключения
Как правильно
- 01
Сначала проверить обновление на тестовой копии с той же конфигурацией
- 02
Переключать версию в часы минимальной нагрузки с готовым планом отката
- 03
Заранее заменить заброшенные плагины, которые не поддерживают новую ветку PHP
- 04
В первые 24–48 часов следить за логами ошибок и показателями в Яндекс Метрике и Google Analytics
Что проверить после запуска
Переключение версии — это ещё не конец работы. Часть проблем проявляется не сразу, а только при определённых действиях: например, при выгрузке каталога по расписанию, отправке писем или обработке платежей. Поэтому после запуска нужно проверить и сам сайт, и всё, что вокруг него.
Отдельное внимание уделите поисковому трафику. Если после обновления страницы начали отдавать ошибки 5xx, роботы Яндекса и Google столкнутся с недоступностью сайта. Короткие сбои обычно не вредят позициям, но затяжные приводят к выпадению страниц из выдачи. Яндекс Вебмастер и Google Search Console покажут такие проблемы быстрее, чем вы заметите падение трафика.
Итог: обновляйтесь, пока это не сделали за вас
- 01
Сайт на PHP 8.1 продолжает работать, но остаётся без защиты от новых уязвимостей
- 02
Выбирайте PHP 8.4 или 8.3 с максимальным оставшимся сроком поддержки
- 03
Начните с инвентаризации кода, плагинов и расширений, а проверку проводите на тестовой копии
- 04
Переключайте боевой сайт ночью или в часы низкой нагрузки, с планом отката
- 05
После запуска следите за логами, Яндекс Вебмастером, Google Search Console, Яндекс Метрикой и Google Analytics
Чем раньше вы проведёте миграцию, тем меньше изменений придётся вносить за один раз и тем дешевле это обойдётся. Если нет времени или уверенности, доверьте обновление специалистам: аудит совместимости покажет, сколько работы действительно потребуется.
Часто задаваемые вопросы
Активная поддержка PHP 8.1 завершилась 25 ноября 2023 года, а приём исправлений безопасности — 31 декабря 2025 года. С этой даты разработчики языка не выпускают для ветки 8.1 даже патчи для уязвимостей.
Нет, сайт продолжит открываться. Но новые уязвимости в этой ветке закрываться не будут, а современные CMS, плагины и библиотеки постепенно перестанут поддерживать 8.1 и откажутся устанавливаться или обновляться.
Для большинства проектов оптимален PHP 8.4: он получит исправления безопасности до конца 2028 года. PHP 8.3 тоже подходит: поддержка безопасности до конца 2027 года, а миграция с 8.1 обычно проще.
Напрямую версия PHP не является фактором ранжирования. Но взломанный сайт получает пометки об угрозах безопасности в Яндекс Вебмастере и Google Search Console, а это приводит к потере трафика и доверия пользователей.
Для небольшого сайта на актуальной CMS хватает нескольких часов вместе с проверкой на тестовой копии. Для проекта с большим количеством самописного кода и зависимостей закладывайте от нескольких дней до пары недель.
Обновим PHP на вашем сайте без простоев и потери трафика
Проверим совместимость кода и плагинов, перенесём проект на PHP 8.3 или 8.4 и настроим мониторинг
Спасибо за заявку!
Мы свяжемся с вами в ближайшее время.
Сотни сайтов уже работают на актуальном PHP



