Сайт сломался после обновления PHP? Найду причину и устраню

Бесплатная первичная оценка. Отвечу в течение дня. Работаю с Битрикс с 2010 года.

Не починил — не платите
Гарантия 14 дней
А

Андрей

Эксперт по 1С-Битрикс

15 лет опыта разработки и сопровождения 1С-Битрикс

Узнаёте свою ситуацию?

Хостер перевёл сервер на PHP 8.x

Сайт работал нормально, но хостер обновил PHP. Теперь ошибки, белый экран или отдельные разделы не работают.

Обновили PHP сами — сайт сломался

Переключили версию PHP в панели управления хостингом. После этого — Fatal Error на каждой странице.

Обновление Битрикс требует PHP 8

Система обновлений сообщает, что для новых версий нужен PHP 8.x. Обновили PHP — и старый код перестал работать.

Ошибки в отдельных модулях или разделах

Сайт в целом открывается, но конкретные страницы, модули или компоненты выдают ошибки после обновления PHP.

Обмен с 1С или cron-задачи перестали работать

Сайт открывается, но фоновые процессы — обмен с 1С, рассылки, агенты — падают с ошибками.

Нужно обновить PHP, но боитесь сломать

Хостер предупредил: поддержка PHP 7.4 заканчивается. Нужно перейти на 8.x, но непонятно, что может сломаться.

Проблемы после обновления PHP бывают разными — от падения всего сайта до сбоя в одном модуле. Опишите, что произошло, и я определю, в чём дело.

Почему «просто обновить PHP» — не работает

PHP 8 — не просто новая версия, а другие правила

PHP 8 — не просто новая версия, а другие правила

PHP 8 изменил фундаментальные правила языка. То, что раньше было предупреждением, стало фатальной ошибкой. Передали null в strlen() — раньше работало, теперь TypeError. Вызвали нестатический метод как статический — раньше Notice, теперь Fatal Error. Один и тот же код на PHP 7.4 работает, а на 8.x — падает.

Три слоя, которые ломаются одновременно

Три слоя, которые ломаются одновременно

При переходе на PHP 8 проблемы возникают сразу на трёх уровнях: ядро Битрикс (если не обновлено до совместимой версии), модули из Маркетплейса (авторы могли забросить обновления), и самописный код — компоненты, шаблоны, обработчики в init.php. Починить один слой недостаточно — нужно проверить все три.

Типичные ошибки при самостоятельном обновлении

Типичные ошибки при самостоятельном обновлении

  • Переключить PHP на 8.x без предварительного обновления ядра Битрикс — ядро не готово к новому PHP, ломается всё сразу
  • Откатить PHP на 7.4 и «забыть» — хостеры прекращают поддержку, проблема вернётся, но уже без возможности отката
  • Обновлять модули на рабочем сайте без тестовой копии — одно обновление может сломать зависимые компоненты
Правильный переход: аудит → тест → миграция

Правильный переход: аудит → тест → миграция

Специалист начинает с аудита — проверяет совместимость ядра, каждого модуля и самописного кода с целевой версией PHP. Затем разворачивает тестовую копию сайта, переключает её на PHP 8.x и фиксирует все ошибки. Только после устранения проблем на копии — переключает рабочий сайт. Переход без простоя и сюрпризов.

Как устроен процесс

01

Вы описываете проблему

Расскажите, что произошло: какая была версия PHP, на какую обновили, что перестало работать. Если обновление ещё не делали — укажите текущую версию. Первичная оценка — бесплатно. Я отвечу в течение дня.

02

Диагностика

Анализ логов ошибок, проверка совместимости ядра Битрикс, модулей из Маркетплейса и самописного кода с целевой версией PHP. Определяю полный список несовместимостей и объём работ.

03

Согласование и устранение

Называю стоимость и сроки до начала работ. Вы всегда знаете заранее, сколько это будет стоить. Если в процессе выясняются новые обстоятельства — согласуем отдельно, аргументированно и прозрачно.

04

Проверка и гарантия

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

Первичная оценка — бесплатно

Примеры из практики

Стоимость

Первичная оценка

бесплатно

Вы описываете проблему, я оцениваю ситуацию и говорю, что потребуется. Без обязательств.

Диагностика и устранение

от 7 000 ₽

Минимальный заказ — 2 часа. С третьего часа — 3 500 ₽/час. Точную стоимость называю до начала работ, после диагностики.

Пакетные предложения

по запросу

Для регулярного сопровождения. Ниже стоимость часа, квант времени 30 минут, нет минимального заказа.

Не починил — не платите. Стоимость всегда согласована до начала работ. Никаких сюрпризов в счёте.

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

Ответы на вопросы об ошибках после обновления PHP на сайтах 1С-Битрикс

Сайт сломался после обновления PHP? Давайте разберёмся

Опишите, что произошло — какой был PHP, на какой обновили, что перестало работать. Я оценю ситуацию и скажу, что потребуется для решения.

Или напишите мне напрямую:

Обычно отвечаю в течение дня. Работаю в московском часовом поясе.

Опыт с 2010 года
Гарантия 14 дней
Не починил — не платите