- Какие версии PHP и MySQL нужны для 1С-Битрикс?
- Как понять, касается ли это вашего сайта?
- Что может сломаться при переходе на PHP 8?
- Отдельная проблема — старые модули Marketplace
- Какие проблемы могут возникнуть при переходе на MySQL 8?
- Если используется MariaDB
- Как правильно обновлять старый сайт?
- Стоит ли обновлять сайт, если он сейчас работает?
- Нужно проверить или обновить сайт на 1С-Битрикс?

В 2026 году для старых сайтов на 1С-Битрикс особенно актуальным стал вопрос перехода на новые версии PHP и MySQL. Многие сайты, которые разрабатывались несколько лет назад, до сих пор работают на PHP 7.x, а некоторые проекты — даже на PHP 5.6.
Пока такой сайт работает, владелец обычно его не трогает. Но требования 1С-Битрикс меняются, выходят новые версии платформы и модулей, а старое серверное окружение постепенно перестаёт подходить для установки актуальных обновлений.
При этом просто выбрать PHP 8.2 или PHP 8.4 в панели хостинга получается далеко не всегда. На старом сайте могут быть собственные компоненты, изменения шаблона, старые модули Marketplace, прямые SQL-запросы и другой код, который писался ещё под PHP 5 или PHP 7.
В этой статье разберу, что стоит проверить перед обновлением и какие проблемы чаще всего возникают при переходе старого сайта на современное окружение.
Какие версии PHP и MySQL нужны для 1С-Битрикс?
На данный момент минимальная поддерживаемая версия PHP для актуальных обновлений 1С-Битрикс — PHP 8.2. Для MySQL требуется версия 8.0 и выше.
Если сайт сейчас нормально работает, например, на PHP 7.4, это не означает, что его нужно срочно переключать на PHP 8.2 прямо на рабочем сервере. Сначала лучше проверить сам сайт, сделать резервную копию и понять, насколько старый код готов к переходу.
Как понять, касается ли это вашего сайта?
Начать можно с обычной проверки текущего состояния сайта. Версию PHP обычно можно посмотреть в административной части 1С-Битрикс или в панели управления хостингом.
Там же стоит посмотреть версию базы данных и проверить, есть ли доступные обновления самого 1С-Битрикс.
- текущую версию 1С-Битрикс;
- версию PHP;
- версию MySQL или MariaDB;
- доступные обновления 1С-Битрикс;
- установленные модули Marketplace;
- собственные компоненты и доработки;
- интеграции с 1С и внешними сервисами.
На относительно новом и регулярно обновляемом сайте переход может оказаться достаточно простым. А вот если проекту 5–10 лет и его много раз дорабатывали разные программисты, к обновлению лучше относиться внимательнее.
Что может сломаться при переходе на PHP 8?
Здесь всё сильно зависит от того, с какой версии выполняется переход. Одно дело — современный сайт на PHP 8.1, и совсем другое — проект, который всё ещё работает на PHP 5.6.
PHP 5 и ранние версии PHP 7 многое прощали программисту. Код мог годами работать с предупреждениями, которые никто не замечал. В современных версиях PHP многие такие ситуации обрабатываются значительно строже и уже могут приводить к остановке выполнения скрипта.
Старый синтаксис и ключи массивов
Один из простых примеров, который встречается в очень старом PHP-коде: ключ массива записан без кавычек.
$arResult[NAME]$arResult['NAME']
Старый PHP пытался интерпретировать NAME как константу
и в некоторых старых версиях такой код продолжал работать,
хотя и был написан неправильно.
В современном PHP такой код уже приводит к ошибке
неопределённой константы.
Статические и нестатические методы
Ещё одна типичная проблема старых проектов — вызов обычного метода класса как статического.
Если someMethod() на самом деле не объявлен как статический,
старые версии PHP в некоторых ситуациях относились к такому коду
более терпимо. В новых версиях PHP подобные ошибки приходится исправлять.
На старых сайтах 1С-Битрикс такие конструкции могут встречаться в собственных классах, компонентах и давно написанных обработчиках.
Проблемы с типами данных
В PHP 8 заметно строже обрабатываются многие ситуации, связанные с неправильными типами данных.
Например, старый код может ожидать массив, а фактически получить
null или строку. Раньше это могло закончиться предупреждением,
которое не было видно пользователю, а после обновления такая же ситуация
может привести к ошибке.
То же самое касается аргументов функций, операций со строками и массивами и ряда других мест, где старый PHP позволял программисту больше вольностей.
Переход с PHP 5.6 сразу на PHP 8.2 или PHP 8.4 я бы уже не рассматривал как простое переключение версии. На старом доработанном проекте практически наверняка потребуется проверка и адаптация собственного кода.
Отдельная проблема — старые модули Marketplace
Даже если ядро 1С-Битрикс полностью обновлено, это ещё не означает, что весь сайт готов к PHP 8.
На сайте могут быть установлены модули и готовые решения из Marketplace. Некоторые из них устанавливались много лет назад, а разработчик уже перестал их поддерживать.
Достаточно одного такого модуля, чтобы после переключения PHP на сайте появились ошибки.
Поэтому перед переходом я обычно смотрю, какие сторонние решения установлены на сайте, есть ли для них обновления и поддерживает ли их разработчик современные версии PHP.
Иногда достаточно обновить модуль. Иногда приходится исправлять его код. А если решение давно заброшено, может оказаться проще найти ему замену.
Какие проблемы могут возникнуть при переходе на MySQL 8?
С MySQL ситуация отличается от PHP. На виртуальном хостинге версию MySQL обычно обновляет сам хостинг. На VPS или выделенном сервере обновлением базы данных приходится заниматься отдельно.
При этом на старых проектах недостаточно проверить только цифру версии MySQL. Есть ещё несколько моментов, на которые стоит обратить внимание.
utf8mb3, utf8mb4 и кодировки таблиц
На старых сайтах 1С-Битрикс база могла создаваться много лет назад
и использовать старую кодировку utf8, которая в современных
версиях MySQL фактически обозначается как utf8mb3.
Современные конфигурации всё чаще используют utf8mb4.
Она позволяет хранить полный набор символов Unicode, но при переходе
со старой базы важно учитывать кодировки и сопоставления
(collation) существующих таблиц.
На одном старом сайте вполне можно встретить ситуацию, когда разные таблицы или соединение с базой используют разные настройки кодировки.
Поэтому перед изменением базы полезно сначала посмотреть, что используется сейчас:
Также имеет смысл проверить кодировки и collation самих таблиц.
Просто поменять одну настройку сервера на utf8mb4
не всегда достаточно.
Если сайт давно работает и в базе уже много данных, сначала нужно посмотреть текущие настройки таблиц и соединения. После массовой конвертации обязательно проверить сайт и корректность существующих данных.
Старые SQL-запросы
Ещё одна проблема старых сайтов — прямые SQL-запросы, которые писались много лет назад.
Если проект в основном работает через API 1С-Битрикс или ORM, часть различий между версиями базы берёт на себя сама платформа. Но в доработанных проектах нередко встречается собственный SQL.
После перехода на MySQL 8 в таких запросах могут проявиться проблемы, которые раньше не были заметны. Например:
- запросы, несовместимые с более строгим SQL Mode;
- проблемы с
GROUP BYи режимомONLY_FULL_GROUP_BY; - старые некорректные значения дат;
- использование слов, которые в новой версии стали зарезервированными;
- устаревшие или некорректные конструкции SQL;
- различия в кодировках и collation при сравнении данных.
Поэтому здесь правило достаточно простое: чем больше на старом сайте прямого SQL вне стандартного API Битрикс, тем внимательнее нужно тестировать переход на MySQL 8.
Если используется MariaDB
MySQL и MariaDB — это не одно и то же, несмотря на совместимость и похожие номера версий.
Если на сервере установлена MariaDB, нужно отдельно смотреть её версию и актуальные требования 1С-Битрикс. Ориентироваться только на требование «MySQL 8» в этом случае неправильно.
Как правильно обновлять старый сайт?
Универсального сценария для всех проектов нет. Если сайт относительно новый, всё действительно может свестись к резервной копии, обновлению системы, переключению PHP и последующей проверке.
Если же сайт работает десять лет и до сих пор находится на PHP 5.6, порядок действий может быть значительно сложнее.
1. Проверить текущее состояние
Сначала нужно понять, с чего вообще начинается переход: какая версия PHP, какая база данных, насколько давно обновлялся 1С-Битрикс и сколько на сайте собственных доработок.
2. Сделать резервную копию
Перед обновлением должна быть рабочая резервная копия файлов и базы данных. Причём желательно убедиться, что эту копию действительно можно использовать для восстановления.
3. Обновить 1С-Битрикс и модули
Если текущее окружение позволяет, сначала стоит установить доступные обновления платформы и сторонних модулей.
Для очень старых сайтов иногда приходится выполнять переход в несколько этапов: обновить систему настолько, насколько позволяет текущая версия PHP, затем перейти на более новую версию PHP, продолжить обновление и только потом двигаться дальше.
Конкретная последовательность зависит от возраста сайта и его текущего состояния.
4. Обновить PHP и MySQL
После подготовки сайта можно переходить к обновлению серверного окружения. Для PHP это часто делается через панель хостинга. С MySQL всё зависит от типа хостинга и конфигурации сервера.
5. Исправить появившиеся ошибки
Если после переключения новой версии появляются ошибки, нужно определить, где именно находится старый код: в шаблоне, компоненте, модуле Marketplace или собственной доработке, и исправить его.
6. Проверить не только главную страницу
Открывающаяся главная страница ещё не означает, что обновление прошло успешно.
На интернет-магазине я бы обязательно проверил каталог, фильтры, поиск, корзину, оформление заказа, оплату, доставку и обмен с внешними системами.
На корпоративном сайте — формы, поиск, личный кабинет, интеграции и все разделы, в которых есть собственные доработки.
Стоит ли обновлять сайт, если он сейчас работает?
Если сайт работает, я бы не советовал в панике переключать PHP или обновлять MySQL на рабочем сервере только потому, что появились новые системные требования.
Но и оставлять старый сайт на PHP 5.6 или PHP 7.x ещё на несколько лет тоже не лучший вариант.
Чем сильнее со временем расходятся версии 1С-Битрикс, PHP, базы данных и сторонних модулей, тем сложнее потом становится выполнить обновление.
Лучше сначала спокойно проверить текущее состояние проекта, сделать резервную копию и оценить возможные проблемы. После этого уже можно планировать переход.
Нужно проверить или обновить сайт на 1С-Битрикс?
Если вы не знаете, какие версии PHP, MySQL и 1С-Битрикс сейчас используются на вашем сайте, можно начать с проверки. После неё будет понятно, требуется ли обновление и насколько сложным будет переход.
Проверю текущее состояние сайта, версии PHP и базы данных, установленные модули и собственные доработки. При необходимости обновлю 1С-Битрикс и серверное окружение и исправлю ошибки старого кода после перехода.
Подробнее об услуге09.09.2026
Семен Голиков.
Время на чтение: 8 мин






Как перенести видео с Youtube на Rutube или Vkontakte
Проблема регистрации ботов на сайте
Подключаем Jivo Chat на сайт
Модифицируем фасету для ускорения умного фильтра
Кастомизируем календарь в битриксе