
PHP 7.4 устарел: что делать и как перейти на PHP 8
PHP 7.4 без патчей безопасности с ноября 2022. Что делать: проверить код и плагины, протестировать и перейти на PHP 8.2–8.4.
PHP 7.4 устарел: что делать владельцу сайта и разработчику
Если ваш сайт работает на PHP 7.4, его нужно обновить до поддерживаемой ветки, лучше PHP 8.2–8.4: сделайте резервную копию, проверьте код и плагины на совместимость, протестируйте на копии сайта и только затем переключите версию на хостинге.
Паниковать не нужно, но откладывать тоже не стоит. Ниже разберём, что именно означает «устарел», чем это грозит бизнесу, какую версию выбрать и как пройти миграцию по шагам, чтобы сайт не лёг посреди рабочего дня.
Что на самом деле означает «PHP 7.4 устарел»
У каждой ветки PHP есть жизненный цикл из двух этапов. Сначала идёт активная поддержка: разработчики исправляют ошибки и закрывают уязвимости. Затем наступает период только безопасности, когда выходят лишь критические патчи. После этого ветка получает статус EOL (end of life): никаких обновлений нет вообще.
У PHP 7.4, выпущенной в ноябре 2019 года, активная поддержка закончилась в ноябре 2021-го, а исправления безопасности прекратились в ноябре 2022-го. Это значит, что любая уязвимость, обнаруженная в ядре или стандартных расширениях после этой даты, в 7.4 официально не исправляется.
Важный нюанс: устаревшая версия не «ломается» в один день. Сайт продолжает открываться, формы отправляются, заказы приходят. Именно поэтому проблему так часто откладывают, пока не случится взлом или хостер не отключит старую версию.
Чем грозит работа на устаревшей версии
Главный риск — безопасность. Уязвимости в PHP, как правило, публикуются открыто, и автоматические сканеры ботов проверяют сайты на известные дыры массово. Сайт на EOL-версии оказывается в зоне повышенного риска: взлом, внедрение вредоносного кода, рассылка спама с вашего домена, утечка клиентской базы.
Второй риск — совместимость. Современные версии WordPress, Laravel, Symfony, популярные плагины и пакеты Composer поднимают минимальную требуемую версию PHP. Рано или поздно вы не сможете поставить обновление безопасности для самой CMS, потому что оно потребует PHP 8.
Третий риск — последствия для поиска. Если сайт взломан, Яндекс Вебмастер и Google Search Console могут показать предупреждение о вредоносном коде, а в выдаче появится пометка об опасности. Трафик из Яндекса и Google при этом падает быстро, а восстановление занимает недели.
Что вы получите после перехода на PHP 8
- 01
Актуальные патчи безопасности и спокойствие за данные клиентов и заказы
- 02
Рост производительности: в ряде тестов PHP 8 заметно быстрее 7.4, а значит, быстрее ответ сервера и ниже нагрузка на хостинг
- 03
Доступ к свежим версиям CMS, фреймворков и библиотек без конфликтов по требованиям
- 04
Современный синтаксис: именованные аргументы, union-типы, match, nullsafe-оператор, атрибуты
- 05
Более строгая типизация и понятные ошибки, которые помогают находить баги до продакшена
- 06
Совместимость с будущими версиями хостинга: старые ветки провайдеры отключают в первую очередь
Какую версию PHP выбрать вместо 7.4
Логично сразу целиться в ветку, у которой впереди как можно больше лет поддержки, но не в самую свежую, если вы используете много сторонних плагинов. Они могут не успеть добавить совместимость с последним релизом.
Для большинства коммерческих сайтов золотая середина сегодня — PHP 8.2 или 8.3. Для нового проекта и современного кода на фреймворках подойдёт PHP 8.4. Версии 8.0 и 8.1 разумно рассматривать только как промежуточный шаг при поэтапной миграции, так как их сроки поддержки закончились или заканчиваются.
Актуальный график всегда публикуется на официальном сайте php.net, поэтому перед принятием решения сверьтесь с ним: даты могут уточняться.
| Версия | Выпуск | Патчи безопасности до | Рекомендация |
|---|---|---|---|
| PHP 7.4 | ноябрь 2019 | ноябрь 2022 | Снята с поддержки, нужно уходить |
| PHP 8.0 | ноябрь 2020 | ноябрь 2023 | Снята с поддержки |
| PHP 8.1 | ноябрь 2021 | декабрь 2025 | Только как промежуточный этап |
| PHP 8.2 | декабрь 2022 | декабрь 2026 | Рабочий вариант для миграции |
| PHP 8.3 | ноябрь 2023 | декабрь 2027 | Оптимальный выбор для большинства сайтов |
| PHP 8.4 | ноябрь 2024 | декабрь 2028 | Для новых проектов и свежих библиотек |
Подготовка: сначала аудит, потом переключатель
Самая частая ошибка — зайти в панель хостинга, выбрать в списке PHP 8.3 и надеяться на лучшее. Так можно получить белый экран на всём сайте. Миграция должна начинаться с инвентаризации: какая версия PHP стоит сейчас, какие расширения подключены, какая CMS и какие плагины используются, есть ли самописный код.
Узнать версию можно командой php -v в консоли или через phpinfo(). Для проектов на Composer полезны команды composer check-platform-reqs и composer why-not php 8.3: они покажут, какие пакеты мешают переходу. Для сайтов на CMS проверьте в описании каждого плагина и темы заявленную поддержку PHP 8.x и дату последнего обновления. Заброшенный плагин, который не обновлялся несколько лет, почти всегда становится главной проблемой.
Пошаговый план миграции с PHP 7.4 на PHP 8
- 01
Сделайте полную резервную копию файлов и базы данных и убедитесь, что её можно развернуть. Без проверенного бэкапа дальнейшие шаги выполнять нельзя.
- 02
Разверните копию сайта (staging) на отдельном поддомене или локально с нужной версией PHP. Закройте её от индексации в Яндексе и Google через пароль или директиву noindex.
- 03
Обновите CMS, плагины, темы и зависимости Composer до версий, совместимых с PHP 8. Заменяйте или удаляйте плагины, у которых нет поддержки.
- 04
Запустите статический анализ: PHPStan или Psalm, проверку совместимости через PHP_CodeSniffer с набором PHPCompatibility. Для автоматических правок кода пригодится Rector.
- 05
Включите отображение всех ошибок на staging (error_reporting = E_ALL) и пройдите ключевые сценарии: регистрация, корзина, оплата, формы, личный кабинет, админка, крон-задачи. Если есть автотесты, запустите их.
- 06
Исправьте найденные Warning, Deprecated и фатальные ошибки. При большом объёме кода поднимайтесь поэтапно: 7.4 → 8.0 → 8.1 → целевая версия.
- 07
Выберите время с минимальной посещаемостью (по данным Яндекс Метрики или Google Analytics) и переключите версию PHP в панели хостинга или в конфигурации сервера.
- 08
Первые 24–72 часа наблюдайте за логами ошибок, скоростью ответа и конверсиями. Держите наготове возможность быстро вернуться на прежнюю версию, если что-то критичное всплывёт.
Что чаще всего ломается при переходе на PHP 8
Переход с 7.4 на 8.0 — самый «болезненный», потому что именно в нём изменено больше всего поведения языка. Часть notice превратилась в warning, многие функции стали выбрасывать исключение TypeError при неверных типах аргументов, а сравнение строк с числами стало более логичным и строгим.
Удалены или изменены устаревшие конструкции: функция create_function и each больше не существуют, обращение к символу строки через фигурные скобки удалено, оператор @ больше не скрывает фатальные ошибки. В PHP 8.1 и 8.2 добавились новые предупреждения об устаревании, например о динамических свойствах классов в 8.2. Они не ломают сайт сразу, но засоряют логи и подсказывают, что код нужно привести в порядок.
Ниже — наглядный пример того, как меняется поведение одного и того же кода.
Как действовать грамотно
Не пытайтесь победить все предупреждения одним махом. Сначала устраните фатальные ошибки и TypeError, потому что они ломают работу сайта. Затем разберитесь с Warning, которые влияют на логику. Предупреждения Deprecated можно планово убирать в следующем спринте.
Если код писали давно и не документировали, оцените объём работ заранее: прогон PHPStan на среднем уровне строгости уже даёт ясную картину, сколько мест требует правок.
Частые ошибки при обновлении PHP
Как делают неправильно
- Переключают версию на боевом сайте без резервной копии и тестовой среды
- Не проверяют плагины и темы, надеясь, что «и так заработает»
- Оставляют display_errors включённым на продакшене и показывают ошибки посетителям
- Игнорируют крон-задачи, выгрузки и интеграции, которые используются редко
- Откладывают проблему, пока хостер не отключит PHP 7.4 без предупреждения
Как правильно
- 01
Всегда сначала делайте бэкап и проверяйте тесты на staging-копии
- 02
Составьте список всех плагинов, пакетов и расширений с их совместимостью
- 03
Логируйте ошибки в файл, а на продакшене скрывайте их от посетителей
- 04
Проверьте фоновые процессы: обмен с 1С, CRM, платёжными системами и почтой
- 05
Запланируйте миграцию заранее и закрепите ответственного за неё
Если обновиться прямо сейчас невозможно
Бывает, что проект завязан на старую CMS или самописный код, который переписывать долго и дорого. В таком случае есть временные меры, но важно понимать: это отсрочка, а не решение.
Некоторые дистрибутивы Linux выпускают собственные исправления для своих пакетов PHP 7.4, а ряд компаний предлагает коммерческую расширенную поддержку устаревших веток, например TuxCare и Zend. Дополнительно стоит закрыть сайт веб-application firewall, ограничить доступ к админке по IP, регулярно делать бэкапы и отслеживать целостность файлов.
Параллельно составьте план миграции с конкретными сроками. Чем дольше проект живёт на старой версии, тем больше накапливается «технический долг» и тем дороже обходится итоговый переход.
Итог: не откладывайте обновление PHP
- 01
Версия 7.4 не получает патчей безопасности с ноября 2022 года
- 02
Оптимальные цели миграции: PHP 8.2, 8.3 или 8.4
- 03
Начинайте с бэкапа, аудита зависимостей и тестовой копии сайта
- 04
Используйте PHPStan, PHPCompatibility и Rector для поиска проблем в коде
- 05
Переключайте версию в период низкой нагрузки и следите за логами
- 06
Если обновиться нельзя сразу, закройте риски временными мерами и зафиксируйте сроки миграции
Чем раньше вы переведёте сайт на актуальную версию PHP, тем дешевле и спокойнее пройдёт миграция. Если нужна помощь с аудитом совместимости, тестированием и безопасным переключением, доверьте это специалистам.
Часто задаваемые вопросы
Ветка 7.4 больше не получает исправлений: активная поддержка закончилась в ноябре 2021 года, а патчи безопасности перестали выходить в ноябре 2022 года. Найденные уязвимости в ней не закрываются.
Сам по себе сайт продолжит работать, пока хостинг предоставляет эту версию. Но риск взлома растёт, новые версии CMS, плагинов и библиотек перестают поддерживать 7.4, а хостеры постепенно убирают её из панели.
Для большинства проектов оптимальны PHP 8.2 или 8.3, а для новых проектов подойдёт 8.4. Актуальные сроки поддержки смотрите на официальном сайте php.net, потому что график обновляется.
Технически можно, но безопаснее идти поэтапно: сначала проверить совместимость с 8.0 и 8.1, исправить ошибки, затем поднимать до целевой версии. На staging-копии можно проверить и прямой переход.
Напрямую версия PHP не ранжирует сайт, но косвенно влияет на скорость ответа сервера, стабильность и безопасность. Взлом сайта грозит пометкой об опасности в Яндекс Вебмастере и Google Search Console и падением трафика.
Перенесём ваш сайт с PHP 7.4 на современную версию без простоев
Проведём аудит совместимости, протестируем на копии и безопасно переключим боевой сайт.
Спасибо за заявку!
Мы свяжемся с вами в ближайшее время.
Миграция на PHP 8 без потери данных



