@anton99zel
29а класс средней школы №7

Как грамотно обновиться?

Есть сайт на Битрикс Бизнес, виртуальная машина, php 5.6. Версия 14. Работал в win-1251
Купили новую лицензию Битрикс Малый бизнес (редакция ниже). Версия 18, последняя т.е. Логично, что она будет просить php 7. Хотим utf-8.
Какой алгоритм обновления?
Ведь если сразу подсунуть ключ, сайт упадет и обновление скорее всего корректно не встанет из-за ошибки php.
Если сначала обновить PHP, то сайт не запустится и ключ ему не подсунуть и не обновить.

Когда и в какой момент изменить кодировку сайта, до или после обновления?

Еще не совсем понятно:
у меня есть другой домен, на котором копия оригинального сайта, на этой копии я делаю тестирования и разработки.
Логично, что можно провести обновление на копии, и если все будет хорошо, залить копию на оригинальный сайт.
Вопрос - как не слететь с лицензии с этими обновлениями на тестовых копиях?

(форум битрикса, как умер 10 лет назад, так и до сих пор тишина, даже на простые вопросы нет ответов)
  • Вопрос задан
  • 605 просмотров
Решения вопроса 2
Важно учитывать какие кастомизации выполнялись на сайте с момента последнего обновления и готовность кастомного кода сайта к переход на другую версию php так как актуальная версия Битрикс требует актуальной версии php.

Порядок действий и что нужно учитывать:
1. Активировать лицензию на основной версии сайта без установки обновлений.
2. Развернуть тестовую копию сайта на площадке с настройками соответствующими основному сайту
3. Выполнить проверку "Монитор качества" на предмет модификации файлов ядра Битрикс.
3.1. При обнаружении модификаций проверить что это - кастомный код который нужен для работы проекта и написанный в недопустимом месте или ложно срабатывание инструментов проверки сайта.
3.2. Выявленный кастомый код перенести в корректное место - отдельные компоненты или файлы обработчики где этот код не будет затерт при обновлении.
4. На тестовой копии выполнить обновления до 17.1 или 17.5. На этом этапе могут быть выявлены первые трудности.
4.1. Компоненты оформления заказа переходят на новое API и при наличии кастомных обработчиков в шаблонах оформления заказа будут выявлены ошибки.
4.2. Серьезные изменения в работе с JS Битрикс также нужно проверить готовность сайта к работе с новым JS
5. Выполнить конвертации таблиц базы интернет магазина и перейти на ядро D7.
6. Скорее всего возникнут проблемы в работе функционала оформления заказа. Вреенно можно перевести оформление заказа в режим совместимости со старым API.
7. Если на сайте была подключена 1С, службы оплаты, службы доставки - на этом этапе они отавалятся так как формат работы Битрикс с оплатами изменился.
8. Если все работает обновляем Битрикс до 18.1 и проверяем функционал
9. Переключаем работу сайта на php 7.0 (можно сразу на php 7.1, но лучше решать проблемы поэтапно)
10. После переключения версии php проверяем корректность работы кастомного кода на новой версии и при необходимости переписываем код на совместимый с актуальной версией php

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

Задача может потребовать от 10ч. до 200ч и больше. Это зависит от количества и качества кастомного кода (от размера технологического долга проекта). В некоторых случаях приходится весь "костыльный" кастомный код перерабатывать в модули и компоненты.

Самый запущенный случай который встречал - это технологический долг в 500-600ч.
было принято решение запускать новый проект и постепенно в нем корректно реализовывать весь кастомный функционал без потери возможности устанавливать обновления.

Не запускайте свои проекты - следите за тем что бы технические специалисты при выполнении задача соблюдали требования Битрикс к реализациям и сохранялась возможность устанавливать обновления.
Ответ написан
@anton99zel Автор вопроса, куратор тега 1С-Битрикс
29а класс средней школы №7
Рассказываю как обновился с 14 Бизнес по 18 малый бизнес - битрикс с переходом на php7 и Марию10.
---
1. Ввел новый ключ, но не обновлял. Сделал резервную копию и развернул ее на другом сервере с такой же конфигурацией.
2. Провел проверки на предмет модификации ядра.
3. Сменил кодировку с 1251 на utf 8 через скрипт
4. Запустил обновление
5. Частично обновилось и упало с ошибкой на версию php
6. Поднял php до версии 7.3
7. Продолжил обновление
8. Опять упало, так как нужно было пересканировать, переконвертировать магазин, скидки, доставки....
9. Затем опять обновление запустил
10. Поднял версию мускул с 5 до 10
11. Сделал резервную копию и развернул ее на боевом сервере
12. Глобальных правок не было. Местами лишь заменил устаревшие функции.

Во время обновления Битрикс ругался на модули не входящие в лицензию. Но мы ими не пользовались все равно. Удалили.
Все работает. По времени ушло примерно 20 часов. Больше всего времени занимало упаковка, распаковка, скачивания, закачивание архивов.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
alexyarik
@alexyarik
Битрикс разработчик
В вашем случае речь идёт не об обновлении, а о создании новой версии сайта на новой лицензии. В Битриксе нет downgrade, т.е. понижение лицензии. Вы не сможете ввести новый ключ вместо старого.
Вам нужно создать новую версию сайта на поддомене в utf-8, на версии РНР 7.1, активировать новую лицензию на новом сайте, перенести всю структуру и данные со старого сайта и после этого либо поменять сайты, либо перенаправить домен (А-запись)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы