1с битрикс обновить ядро

Обновлено: 06.07.2024

Продукты 1С-Битрикс часто имеют не однозначную оценку со стороны разработчиков. Это в основном обусловлено тем, что продукт разрабатывается с 2002 года и имеет большое количество старой кодовой базы, а также очень широкий функционал, который тяжело поддерживать даже большой команде разработчиков, а тем более вовремя писать подробную документацию. Ну и главное наверное, это то, что продукт рассчитан больше на пользователя, чем на разработчика.

Но есть вещи, которые не оправдывает ни один из вышеперечисленных фактов.

Устанавливаем BitrixSetup

У нас стандартное веб окружение LAMP:

Устанавливаем BitrixSetup и получаем фатальную ошибку:

Ошибка находится в файле "/bitrix/modules/main/lib/httpapplication.php":

Ниже приводим метод, который вызывает ошибку, а точнее его седьмая строчка

К чему весь этот пост, ведь по сути мы устанавливаем чистый продукт и логично, что мы ставим версию php указанную как минимальную, но здесь есть несколько "НО":

Разработчики 1С-Битрикс всегда говорили о поддержке обратной совместимости, и дескать именно из-за этого большие проблемы с поддержкой кода, тяжело проходят рефакторинги и долгие релизы, но представим, что у вас есть старый проект, который вы можете перенести только выгрузив ветку шаблона сайта с разделами, так как хранить весь "1С-Битрикс" вам не позволяет количество ресурсов, если у вас не один проект, а множество. Проект со старой кодовой базой установить на чистый установленный продукт не представляется возможным.

Самое главное, появляются ошибки с версиями php 7.4.*, а на php 8.0.* инсталлятор вообще отказывается работать, почему бы не указать явно какие версии php использует продукт.

Заключение

Что мы имеем по итогу:

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

Для разработки и поддержки продукта нам нужен разработчик, который умеет работать с mix кодом, BX.jquery и т.д., а таких нужно еще поискать.

При обновлениях продукта по факту нет обратной совместимости, нельзя обновить ядро с поддержкой php 7.0, например.

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

Получается, это дорого, не безопасно и не понятно перспективно ли? С любой новой версией php 1С-Битрикс может просто остаться на обочине развития веб разработки.

Курс предназначен для организаций, предоставляющих услуги хостинга и желающих получить компетенцию Рекомендуемый хостинг.

В курсе рассматриваются требования платформы Bitrix Framework к хостингу, вопросы установки, настройки продукта а также вопросы инструментов и методов оптимизации серверов и баз данных для работы с системой

Для хостеров не является обязательным, но рекомендуется изучение курсов Контент-менеджер и Администратор. Базовый для получения более полного представления о возможностях системы и способах работы с ней.

Рекомендуется ознакомиться с опытом настройки и тестирования серверов в блогах Александра Демидова и Дениса Шаромова, а так же с отзывами клиентов о хостингах в группе Черный и белый список хостингов социальной сети компании "1С-Битрикс".

Если ваш хостинг на Windows, то вам может быть полезна группа 1С-Битрикс на платформе Windows Server 2008 в социальной сети сайта "1С-Битрикс". В ней пользователи делятся опытом работы системы на IIS 7.

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

У нас часто спрашивают, сколько нужно заплатить

Курс полностью бесплатен. Изучение курса, прохождение итоговых тестов и получение сертификатов - ничего из этого оплачивать не нужно.

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

Баллы опыта

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


уроке.

Периодически мы заново оцениваем сложность уроков, увеличивая/уменьшая число баллов, поэтому итоговое количество набранных Вами баллов может отличаться от максимально возможного. Не переживайте! Отличный результат - это если общее число набранных Вами баллов отличается от максимального на 1-2%.

iPhone:
FBReader
CoolReader
iBook
Bookmate

Windows:
Calibre
FBReader
Icecream Ebook Reader
Плагины для браузеров:
EpuBReader – для Firefox
Readium – для Google Chrome

iOS
Marvin for iOS
ShortBook
обновляются периодически, поэтому возможно некоторое отставание их от онлайновой версии курса. Версия файла от 28.04.2021.

В разных ситуациях обновлять ядро 1С-Битрикс можно с разной степенью «вольности». Одно дело, если на сайте идёт поток из 100 посетителей в сутки и мы можем на пару-тройку часов закрыть проект на «техобслуживание». Совсем другое – если мы должны обеспечить гарантированный и незаметный для пользователей переход.

Подготовительные действия

1. Первым делом обновление ядра выполняется на отдельной площадке, после чего тестировщики проводят полное регрессионное тестирование (примечание редакции: регрессионное тестирование – то есть тестирование всего существующего функционала, а не только новых возможностей, добавляемых обновлением). Начинать обновление в продуктивной среде нельзя, пока не будет гарантий работоспособности обновленного продукта. Это хороший сценарий.

Более реалистичный и грустный случай, который можно встретить на большинстве проектов: вся проектная команда состоит из одного разработчика. В такой ситуации разработчику необходимо выполнить обновление где-нибудь, например локально, после чего самостоятельно примерить на себя роль тестировщика. Для того, чтобы разработчик не упустил чего-либо, желательно заранее составить подробный тест-план и проставлять «галочки» напротив выполненных тестов.

Этот шаг является обязательным. Каким бы незначительным ни был проект, посетители не должны знать что ведутся работы. И тем более наблюдать ошибки.

2.Обновление продуктивной среды следует запланировать на период с 3 до 5 ночи по местному для проекта времени. Практика показывает, что это время наибольшего спада посещаемости. Даже проекты с десятками миллионов хитов в сутки в это время могут практически простаивать.

3. Следует обеспечить отключение всех значимых фоновых процессов в это время. К таким процессам могут относиться импорты, экспорты, плановое резервное копирование, генерация отчетности и прочее. Если от процесса нельзя отказаться даже на одну ночь, то необходимо сдвинуть его на более раннее или более позднее время.

4. Перед началом работ по обновлению необходимо сделать полную резервную копию проекта. Следует обязательно убедиться, что копия является целостной. Для этого сразу же после создания копии требуется ее где-нибудь развернуть. Желательно всегда использовать для резервного копирования специализированные инструменты, которые имеют встроенную функциональность проверки целостности.

​Предварительные работы

1. На доступных аппаратных ресурсах поднимается новый параллельный экземпляр MySql. Отмечу особо: не новая база данных в рамках существующего экземпляра (процесса), а именно отдельный экземпляр MySql. Далее для краткости, новый экземпляр будет обозначен как DB2, а оригинальный — DB1.

Под доступными ресурсами подразумевается либо аппаратный резерв (лучший случай), либо те же продуктивные ресурсы (ночью они не должны быть загруженными), либо ресурсы инфраструктуры разработки и тестирования (плохой случай), либо даже локальная машина разработчика (ужасный случай, только для маленьких проектов, обязательно нужен постоянный внешний IP).

2. Между DB2 и DB1 настраивается репликация master-master в режиме mixed.

3. На тех же доступных ресурсах размещается копия продуктивных файлов и настраивается веб-сервер.

4. Между продуктивной (далее FS1) и новой (далее FS2) файловыми системами настраивается односторонняя синхронизация: копия файловой системы (FS2) через короткий промежуток времени обновляется продуктивными изменениями (FS1) с помощью rsync или csync2.
Таким образом, на некоторый промежуток времени создается полный близнец продуктивного сайта, который в реальном времени обновляется продуктивными данными.

Этап перераспределения нагрузки

1. На уровне front-end веб-сервера в качестве back-end веб-сервера указывается близнец. Таким образом, нагрузка полностью снимается с продуктивной среды и перенаправляется на временную копию.

Так как дело происходит ночью и посещаемости почти нет, даже очень ограниченные ресурсы способны обслуживать продуктивную нагрузку без перебоев.

2. В DB2 выполняется команда STOP SLAVE, что превращает схему репликации в master-slave, причем в качестве мастера выступает DB2.

3. Файловая синхрониация между FS1 и FS2 разрывается.
​Таким образом, вся продуктивная нагрузка обрабатывается временной копией проекта (близнецом), продуктивные ресурсы готовы для безболезненного проведения любых работ, при этом продуктивная база данных (DB1) обновляется в реальном времени, то есть, результат действия пользователей не теряется.

​Заключительный этап

1. Штатными средствами выполняется обновление ядра Битрикс.

​2. Силами доступных специалистов оперативно производится smoke test.

3. Если критических проблем не выявлено, то нагрузка вновь переключается на продуктивную среду.

4. Производится проверка статуса репликации между DB2 и DB1, если в какой-то момент времени она сломалась (что возможно из-за изменения структуры таблиц), то binlog анализируется с заданной позиции, проблемные запросы корректируются вручную (их будет немного, если будут вообще) и выполняются в продуктивной базе данных.

5. С помощью rsync в режиме dry-run получается список файлов, которые были добавлены или изменены в период перераспределенной нагрузки. Этот (короткий) список просматривается и отфильтровывается вручную, после чего нужные файлы, если такие обнаружатся, вручную переносятся в продуктивную среду.


Регулярное обновление Битрикс поможет не отставать от совершенствующихся технологий и обезопасит ваш сайт. Вручную обновить Bitrix в виде облачного портала не получится. Последняя версия загрузится автоматически – как только появится новое обновление. В случае же с коробочной редакцией все гораздо сложнее. Обновление здесь требует большой аккуратности.

ТОП-10
лучших компаний интернет-продвижения России 2020

Основные шаги

Если при обновлении не будут учтены некоторые моменты, возникнет риск неполадок в работе сервиса. В частности, касается это доработанных порталов: все нестандартные модернизации «слетят» и устанавливать их придется заново.

Этап 1. Резервная копия

Первым делом выполняем резервную копию сайта. Это поможет восстановить его в случае непредвиденной ситуации. Выполняется создание резервной копии в одноименной вкладке:

Создание полной резервной копии битрикс


Создание полной резервной копии битрикс

Копирование выполняется в течение нескольких минут. Как только все будет готово, отправляемся на проверку целостности ядра Битрикса.

Этап 2. Проверка целостности ядра

Возможно, разработчик вносил в ядро нестандартные изменения. Проверка нужна для сохранения ряда функций, которые были реализованы через изменение файлов ядра.

Чтобы проверить данные на вкладке «контроль целостности», нужно иметь лицензию Битрикс с проактивной защитой (например, это «Малый бизнес»). Введите пароль с проверочным словом в этой вкладке:

Контроль целостности файлов в Битрикс


Контроль целостности файлов в Битрикс

Система высветит уведомление, вносились ли изменения в ядро. Как видно на изображении выше, Битрикс предлагает собрать информацию по файлам. Сделайте актуальный файл уже после обновления, чтобы вернуть данные в исходное состояние в случае взлома. Это необходимо, поскольку бэкап не всегда помогает восстановить взломанный сайт.

Этап 3. Проверка базы данных

В базе данных могут находиться битые таблицы. Это помешает обновить Битрикс. Проверить базу можно по следующим вкладкам:

Проверка базы данных в Битрикс


Проверка базы данных в Битрикс

Результат проверки базы данных в Битрикс


Результат проверки базы данных в Битрикс

Этап 4. Обновление Битрикс

Приближаемся к главному вопросу: как обновить Битрикс? Заходим на вкладку «Обновление платформы»:

Система обновлений Битрикс


Система обновлений Битрикс

Тут уже будут указаны необходимые для установки обновления. Нажимаем «Установить» и ожидаем завершения процедуры.

Следующий наш шаг – очистка кэша сайта. Это нужно во избежание проблем с отображением некоторых элементов сайта. Выполняется во вкладке «Автокеширование». Выбираем очистку и жмем «Все».

Очистка кэша


Очистка кэша

Сайт обязательно нужно проверить: возможно, во время обновления мы что-то упустили из виду. Для этого переходим на страницу «Проверка системы»:

Проверка системы в Битрикс


Проверка системы в Битрикс

Вы получите подробный отчет, в котором сможете изучить все по пунктам. При наличии каких-либо проблем не стоит решать их самостоятельно. Обратитесь к специалисту по Битрикс или напишите в техническую поддержку.

Этап 5. Завершение обновления

Сделайте еще одну резервную копию веб-ресурса, чтобы сохранилась уже обновленная версия. После этого зайдите на свой сайт в режиме Инкогнито – желательно с разных браузеров. Внимательно изучите, корректно ли отображаются разные функции сайта – будь-то корзина, конверсионные элементы, различные кнопки и т.д.

Не забудьте проверить обновление Битрикс на мобильном устройстве. В Android и IOS о новой версии пользователь узнает из пришедшего уведомления.

Новая версия при этом загрузится автоматически.

Можно ли откатить обновление битрикс?

Предположим, вы обновили Битрикс до новой версии. После нескольких дней пользования вы решили сделать откат, поскольку новая версия вас чем-то не устроила. Но что делать, если за время пользования на портал были загружены новые документы, пользователи и прочие данные?

Вы можете восстановить старую версию при помощи бэкапа. Однако, при откате на бэкап сохранить данные, которые были накоплены за время работы сайта на новой версии не получится.

Что делать, если не все обновления доступны?

При попытке обновления модуля Битрикс могут возникать самые разные проблемы. Большинство из них связано с отсутствием лицензии. Проверить ее наличие можно в административном разделе сайта, в разделе «Обновление продукта». Там есть строка «Редакция продукта». Второй вариант – введение лицензионного ключа с коробочной версии.

Если с лицензией все в порядке, но часть обновлений все еще недоступна, придется обратиться в техническую поддержку Битрикс.

Читайте также: