Короткий ответ
По техническим требованиям 1С-Битрикс минимальная версия PHP сейчас — 8.2, базы данных — MySQL 8.0. Сайт на старом PHP продолжает открываться, но перестаёт нормально получать обновления, а значит, и исправления безопасности. При переходе на PHP 8 ломается не ядро Битрикса, а то, что вокруг него: самописный код и доработки, старые модули из Маркетплейса и устаревшие настройки сервера — например, mbstring.func_overload, которой в PHP 8 больше нет. Безопасный порядок один: резервная копия → тестовая копия → обновить ядро и модули → переключить PHP на копии → пройти все сценарии по логу ошибок → только потом рабочий сайт. Обновление платформы с правкой доработок обычно стоит 25–60 тыс. ₽; разовые работы у нас — 3 500 ₽ в час.
Мы в Interland — золотой партнёр 1С-Битрикс из Новосибирска, сопровождаем сайты на Битрикс и Аспро. Наш собственный сайт работает на PHP 8.2 — ниже о том, что ломается при переходе, как это найти до того, как увидят клиенты, и на какие грабли мы наступили сами.
Почему обновляться всё-таки нужно
- Требования вендора. В технических требованиях «1С-Битрикс: Управление сайтом» указаны PHP 8.2 и MySQL 8.0 как минимальные. На старой платформе сайт отстаёт от обновлений ядра и модулей.
- Безопасность. Исправления уязвимостей приходят с обновлениями — без них сайт со временем становится лёгкой целью.
- Хостинг. Хостинг-провайдеры со временем выводят старые версии PHP из эксплуатации — лучше обновиться по своему плану, чем по чужому.
Обновления ядра, кстати, приходят только пока активна лицензия — подробнее в разборе сколько стоит лицензия и продление.
Что ломается при переходе на PHP 8 → почему → как найти
| Что ломается | Почему | Как найти |
|---|---|---|
| Самописный код с функциями each(), create_function() | Эти функции удалены из PHP 8 | Фатальные ошибки в журнале PHP; поиск по коду папок /local/ и шаблона |
| Предупреждения «Undefined array key», «Trying to access array offset on value of type null» | В PHP 8 это не тихие замечания, а предупреждения: старый код, который читал массивы «как получится», начинает шуметь | Журнал ошибок; если ошибки выводятся на экран — ломаются вёрстка и ответы AJAX |
| Ошибка «Удалите настройку PHP mbstring.func_overload» | Настройку убрали из PHP 8, а старые сайты на Битрикс её использовали | «Проверка системы» в админке, настройки PHP на сервере |
| Модули Маркетплейса, которые давно не обновлялись | Разработчик не адаптировал модуль под новый PHP | Дата последнего обновления модуля, ошибки в его папке в журнале |
| Ошибки типов в расчётах и сравнениях | PHP 8 строже относится к типам данных | Журнал ошибок при прохождении корзины, калькуляторов, фильтров |
| Предупреждения о «динамических свойствах» | С PHP 8.2 это помечено устаревшим | Журнал; сейчас это только предупреждения, но в будущих версиях станет ошибкой |
| Обмен с 1С, агенты, cron, оплата | Они работают в отдельных процессах — на страницах ошибку не видно | Отдельно запустить обмен, проверить агенты и тестовую оплату |
Порядок обновления
- Резервная копия файлов и базы — до любых действий.
- Тестовая копия сайта на том же сервере или хостинге.
- Ядро и модули. На копии обновляем 1С-Битрикс, решение Аспро и модули Маркетплейса до актуальных версий — уже на текущем PHP.
- Переключение PHP на копии — в панели хостинга или, на BitrixVM, через меню «Manage servers in the pool → Update PHP, MySQL, PostgreSQL».
- Журнал ошибок. Включаем запись ошибок в файл и проходим все сценарии: главная, каталог, карточка, корзина, оформление и оплата, формы, личный кабинет, обмен с 1С, агенты.
- Исправления. Чиним доработки и модули, пока журнал не станет чистым.
- Рабочий сайт. Переключаем PHP в спокойное время и держим возможность быстро вернуть прежнюю версию в панели хостинга.
Если сайт не обновлялся годами, обновление ядра идёт лесенкой — через промежуточные версии. Это отдельный и самый длинный этап, о нём — в разборе «Сайт устарел: чинить или переделывать».
Как это у нас
- Сайт на PHP 8.2. Ядро и решение Аспро к этому готовы — проблемы пришли с другой стороны.
- Модуль из Маркетплейса. Модуль отправки страниц в поиск (IndexNow) на PHP 8 сыпал предупреждениями «Undefined array key»: он читал настройки, которых у нас не было. Исправили обращение к настройкам — и запомнили, что после обновления модуля правку придётся повторить.
- Cron и версия PHP. Задание cron для фоновых задач Битрикса запускается конкретной версией PHP по полному пути. Без этого cron на хостинге может работать на другой версии PHP, чем сайт, — и ошибки будут появляться «ниоткуда».
Что не делать
- Не переключайте PHP сразу на рабочем сайте. Даже если «у соседей всё прошло».
- Не включайте вывод ошибок на экран для посетителей. Пишите их в файл — иначе вместе с ошибками наружу уйдут пути сервера.
- Не глушите предупреждения вместо исправления. Сегодня это предупреждение, в следующей версии PHP — фатальная ошибка.
- Не забывайте про cron, обмен с 1С и оплату. Именно они чаще всего «молча» ломаются после смены PHP.
Когда звать специалиста
- на сайте много доработок в шаблоне и
/local/, а документации к ним нет; - ядро давно не обновлялось и нужна лесенка версий;
- стоят модули Маркетплейса, которые давно не обновлялись разработчиками;
- сайт — интернет-магазин с обменом с 1С и онлайн-оплатой.
Считаем на салфетке: по плану или в аварийном режиме
Модель для интернет-магазина: 400 заказов в месяц, средний чек 4 200 ₽, маржа 30 % — около 16 800 ₽ маржи в день.
| Сценарий | Расходы | Что в итоге |
|---|---|---|
| Обновиться по плану | Модельно 40 000 ₽ — середина типичной вилки 25–60 тыс. | Простоя нет: всё проверено на копии |
| Ждать, пока хостинг выключит старую версию PHP | Срочный ремонт — модельно 20 часов по 3 500 ₽ = 70 000 ₽ + 2 дня неработающего каталога = 33 600 ₽ маржи | Около 103 600 ₽ и нервы |
Модель, а не прогноз: у каждого сайта свой объём доработок. Но разница понятна — то же самое обновление в аварийном режиме обходится примерно в два с половиной раза дороже. Контрпример: сайт на актуальной версии Битрикса без доработок и сторонних модулей — переход проходит за час, и считать тут нечего.
Как мы это делаем
- Аудит. Версии ядра, модулей и PHP, список доработок и модулей Маркетплейса.
- Копия и обновление. Тестовая копия, лесенка обновлений ядра, переключение PHP.
- Прогон сценариев по журналу ошибок, включая обмен с 1С, агенты и оплату.
- Исправления и перенос на рабочий сайт в спокойное время, с возможностью отката.
Стоимость: разовые работы — 3 500 ₽ в час, в пакете часов — от 2 500 ₽ в час (10 часов — 30 000 ₽). Подробнее — на странице технической поддержки сайтов на 1С-Битрикс.
Вопросы и ответы
Какая версия PHP нужна для 1С-Битрикс?
По техническим требованиям вендора минимальная — PHP 8.2, база данных — MySQL 8.0 или PostgreSQL 11.
Что будет, если остаться на старом PHP?
Сайт продолжит работать, но перестанет нормально получать обновления ядра и исправления безопасности, а хостинг рано или поздно может отключить старую версию.
Можно ли обновить PHP без простоя?
Да, если сначала всё проверить на тестовой копии, а на рабочем сайте переключить версию в спокойное время с возможностью быстро вернуть прежнюю.
Что такое mbstring.func_overload и почему Битрикс просит её удалить?
Это старая настройка PHP, которую раньше использовали сайты на Битрикс. В PHP 8 её убрали, поэтому перед переходом её нужно отключить.
Сколько стоит переход на PHP 8?
Зависит от числа доработок и давности ядра: типичная вилка — 25–60 тыс. ₽, при обилии самописного кода — больше. Разовые работы у нас — 3 500 ₽ в час.
Нужна помощь с обновлением
Напишите в Telegram или MAX или позвоните: +7 383 207-92-09. Работаем Пн–Пт 9:00–18:00 по Новосибирску (UTC+7). Пришлите ссылку на сайт — посмотрим версии и скажем, сколько займёт переход.
Смежные разборы: ошибка 500 после обновления, сайт устарел: чинить или переделывать, лицензия и продление.
Источники: технические требования «1С-Битрикс: Управление сайтом» (PHP 8.2, MySQL 8.0, PostgreSQL 11); учебный курс 1С-Битрикс «Обновление PHP, MySQL, PostgreSQL» (BitrixVM, mbstring.func_overload). Проверено 10.10.2026.
Автор: Филипп Малько, Interland · Проверено: 10.10.2026