Сайт на устаревшем PHP: что делать, когда патчей не будет

Обсудить
Сайт на устаревшем PHP: что делать, когда патчей не будет
Реклама. АО «ТаймВэб». erid: 2W5zFG9MpiW

31 декабря 2026 года заканчивается поддержка PHP 8.2, а версии 7.x, 8.0 и 8.1 не получают обновлений безопасности уже сейчас. Это значит, что для сайтов, работающих на этих версиях, официальных патчей безопасности не существует, и любая новая уязвимость в PHP останется незакрытой.

Насколько это серьезно, показала уязвимость PHP2Shell в октябре 2026 года: злоумышленник отправляет сайту специальный запрос и из-за ошибки в обработке памяти может выкачать все заказы и внедрить на сайт вредоносный код. Исправления этой уязвимости вышли только для PHP 8.2-8.5, а все остальные версии оказались без защиты.

Поэтому если ваш сайт все еще работает на PHP 7.x, 8.0 или 8.1, обновите его как можно скорее – минимум до PHP 8.3, а лучше до 8.4/8.5, чтобы не зависеть от скорого окончания поддержки 8.2. В этой статье вы узнаете, что делать для переезда сайта на 1С-Битрикс на новые версии PHP.

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

Официальная таблица поддержки PHP устроена просто: два года активной поддержки, затем два года только критические security-фиксы, затем EOL (конец жизненного цикла). Это означает, что «живая» ветка не та, что еще работает, а та, которая получает патчи.

Ветка PHP

Security-поддержка до

Статус на ноябрь 2026

7.x

прекращена

EOL

8.0

прекращена

EOL

8.1

прекращена

EOL

8.2

31.12.2026

~2 месяца

8.3

31.12.2027

~1 год

8.4

31.12.2028

~2 года

8.5

31.12.2029

~3 года

PHP2Shell как репетиция: что происходит, когда патчей нет

21 октября 2026 года команда PHP выпустила исправления для двух критических уязвимостей: CVE-2026-109618 и CVE-2026-109619. Уязвимости находились в самом движке PHP, а не в прикладном коде: уязвимым был любой интернет-сервер на затронутой версии, даже с идеально написанным приложением.

Патчи вышли для 8.2.35, 8.3.36, 8.4.27 и 8.5.12. Для 8.1 и старше официальных обновлений нет, только минимальные бэкпорты для тех, кто собирает PHP из исходников самостоятельно.

Что это значит на практике для сайта на 8.1: вы не можете подождать до следующего квартала. Уязвимость эксплуатировалась уже через 19 минут после публикации патча. Единственная безопасная стратегия – обновление до живой ветки.

Что реально ломается при переходе 7.x → 8.x

Основные категории проблем перехода с 7.4 на 8.x, с которыми сталкиваются разработчики на 1С-Битрикс:

  • Удаленные deprecated-функции. create_function(), each(), money_format() и ряд других исчезли в 8.0. Самописный код и старые модули маркетплейса часто содержат их в наследство от эпохи 5.x-7.x.
  • Изменения поведения. То, что в 7.x было под сомнением, в 8.x может стать фатальной ошибкой. Несовместимые типы в сигнатурах функций, передача null в параметры, где ожидается строка – все это всплывает при первом же запросе к странице.
  • Устаревшие расширения. Некоторые PECL-расширения и старые версии модулей (особенно самописные интеграции) могут не иметь сборки под 8.x. Проверять нужно каждое расширение в php -m.
  • Ядро CMS и модули. Для 1С-Битрикс минимальное требование – PHP 8.2 с 1 февраля 2026 года. Это значит, что старые редакции ядра, которые не обновлялись годами, могут просто не запуститься на 8.2+, не говоря уже о 8.3.

Перед началом работ обязательно проведите аудит.

Аудит перед миграцией: чек-лист разработчика

Перед тем как трогать прод, зафиксируйте текущее состояние.

Версия PHP на проде и в окружении разработки. Часто они различаются. php -v в SSH и версия в панели хостинга могут не совпадать.

Версия ядра 1С-Битрикс и дата последнего обновления. Если ядро не обновлялось больше года, сначала обновляйте ядро и модули на старой версии PHP, если она еще работает. Обновление ядра на уже перенесенном PHP – путь к большему количеству ошибок.

Сторонние модули из 1С-Битрикс: Маркетплейс. Пройдитесь по списку установленных решений: когда последний раз обновлялся каждый модуль, поддерживает ли автор 8.2+. Модули, заброшенные авторами два-три года назад, – главный источник проблем.

Самописный код. Ищите удаленные функции, устаревшие практики, динамические свойства. Статический анализ на уровне 8.0+ покажет большую часть проблем до запуска.

Composer-пакеты. Пакеты, требующие PHP < 8.0, нужно обновлять или заменять.

Интеграции и cron. Скрипты, которые запускаются по расписанию и не проходят через веб-интерфейс, часто забывают при тестировании. Они сломаются незаметно.

Хотите быстро оценить состояние вашего проекта? Мы подготовили чек-лист с 10 пунктами для проверки актуальности сайта – забирайте его и применяйте на практике.

Специфика 1С-Битрикс: что меняется для сайта

С 1 февраля 2026 года минимальная версия PHP для всех продуктов 1С-Битрикс – 8.2.0. Сайт на старой редакции ядра, который технически запускается на 8.1, официально не поддерживается и не получит обновлений безопасности от вендора.

Проверка хостинга скриптом bitrix_server_test.php покажет, соответствует ли окружение требованиям. Если хостинг не предоставляет 8.2+, вопрос миграции PHP превращается в вопрос смены хостинга.

Второй момент: ядро и модули обновляются вместе. Нельзя обновить только ядро до версии, требующей 8.2, и оставить модули на старых версиях – конфликты зависимостей всплывут при первом обращении к административному разделу.

План миграции по шагам

Для большинства проектов на 1С-Битрикс типичный срок от аудита до запуска на проде – от 3 рабочих дней до 2 недель в зависимости от сложности проекта.

  1. Staging-копия. Полная копия прода на отдельном сервере или поддомене. Не начинайте миграцию на живом сайте в нерабочее время – откат займет больше времени, чем кажется.
  2. Обновление ядра и решений. На текущей версии PHP обновите ядро 1С-Битрикс до актуальной стабильной версии, затем – все модули и готовые решения. Зафиксируйте ошибки, которые появились уже на этом этапе.
  3. Перевод staging на целевую ветку PHP. Начните с 8.3, если сейчас 7.x, 8.1 или 8.2. Проверьте базовую работоспособность: главная, авторизация, админка.
  4. Функциональные тесты. Минимум: каталог (список и детальная), корзина и оформление заказа, оплата (тестовый режим), формы обратной связи, интеграции (CRM, email, API), cron/агенты (выполняются ли, не падают ли).
  5. Перевод прода. С бэкапом и планом отката. После перевода – мониторинг логов ошибок PHP и 1С-Битрикс в течение 24-48 часов.

Типовые ошибки: обновление PHP без обновления ядра (сайт падает на старой редакции); обновление ядра без проверки модулей; тестирование только под админом (гостевой сценарий заказа ломается из-за другой сессии/кеша).

Как не оказаться на мертвой ветке снова

Уже через два года перестанет поддерживаться PHP 8.3, через четыре – 8.4. Регламент сопровождения должен включать:

  • Мониторинг EOL-календаря с напоминанием за 6 месяцев до security EOL.
  • Регулярные обновления ядра и решений – не раз в три года, а по мере выхода стабильных версий.
  • Плановую миграцию PHP раз в 2-3 года – до наступления security EOL.

Для сайтов на решениях Аспро это означает дополнительный плюс: актуальные решения выпускаются под актуальное ядро 1С-Битрикс с минимальным требованием PHP 8.2. Миграция на свежую ветку PHP одновременно переводит сайт на поддерживаемую связку «ядро + решение» с регулярными обновлениями. При переносе старого сайта – перенос контента и структуры на актуальное решение, а не попытка «оживить» легаси.

Изображение на обложке: Аспро

echo -e "Все про серверы, сети, хостинг и еще раз серверы" >/dev/pts/0

Комментарии

С помощью соцсетей
У меня нет аккаунта Зарегистрироваться
С помощью соцсетей
У меня уже есть аккаунт Войти
Инструкции по восстановлению пароля высланы на Ваш адрес электронной почты.
Пожалуйста, укажите email вашего аккаунта
Ваш баланс 10 ТК
1 ТК = 1 ₽
О том, как заработать и потратить Таймкарму, читайте в этой статье
Чтобы потратить Таймкарму, зарегистрируйтесь на нашем сайте