- Заказчик
-
ООО Электрон
- Задача
-
Обновить систему в cms Битрикс 1с, чтобы она соответcтвовала php 8.2 на сайте https://luchplast.ru/
Ко мне обратился заказчик с просьбой обновить сайт до версии php 8.2. Сайт был создан давно поэтому изначальная версия php была 5.6. Для нашей команды это не являлось проблемой. Так как за задачу взялся опытный битрикс 1с разработчик. В итоге обновление сайта на битрикс 1с поделилось на три этапа.
Этапы обновления сайта
- Диагностика сайта.
- Смена кодировки сайта cp1251 в UTF-8.
- Обновление системы и исправление ошибок.
Диагностика сайта
На этом этапе битрикс разработчик проверяет состояние сайта на наличие вирусов, а так же другие особенности сайта, чтобы после обновления сайт не сломался и не потерялись какие то данные.
Так же сайт был перенесен на тестовую среду, во-избежание непредвиденных ситуаций связанных с обновлением сайта на битрикс 1с.
Наша команда очень внимательно относимся к бизнесу заказчика, поэтому минимализируем угрозы связанные с разработкой.
В процессе диагностики на сайте обнаружили другую кодировку, которая мешала обновлению текущего сайта. Поэтому 2-ой этап обновления сайта будет посвящен смене кодировки на сайте.
Смена кодировки сайта cp1251 в UTF-8
На этом этапе наш специалист по сайтам битрикс 1с выполнил работу по смене кодировки. Во время этого процесса он выполнил следующие действия:
Общий порядок конвертации сайта с кодировки cp1251 в UTF-8:
- В региональных настройках (Настройки > Настройки продукта > Языковые параметры > Региональные настройки) сменить кодировку на UTF-8 для всех языков.
- Установить в файле настроек php.ini значение default_charset = «utf-8». Расположение файла настроек можно посмотреть заранее в административном разделе на странице «Настройки PHP». Если сайт размещён на хостинге, возможно понадобится обратиться к хостинг-провайдеру для внесения этих настроек.
- Добавить в /bitrix/php_interface/dbconn.php строку define(«BX_UTF», true). В этом же файле удалить строки, относящиеся к кодировке cp1251: setlocale(LC_ALL, ‘ru_RU.CP1251’); mb_internal_encoding(«Windows-1251»).
- Установить значение ‘value’ => true для utf_mode в файле /bitrix/.settings.php: utf_mode => array( ‘value’ => true, ‘readonly’ => true, ).
- Перекодировать всю базу данных в UTF-8. Вероятнее всего придётся обращаться за помощью к администратору сервера.
- Установить в файле /bitrix/php_interface/after_connect.php строки: $DB->Query(«SET NAMES ‘utf8′»); $DB->Query(‘SET collation_connection = «utf8_unicode_ci»‘); и в файле /bitrix/php_interface/after_connect_d7.php: $this->queryExecute(«SET NAMES ‘utf8′»); $this->queryExecute(‘SET collation_connection = «utf8_unicode_ci»‘);.
- Установить в /.htaccess: php_value default_charset utf-8.
- Перекодировать все файлы сайта в UTF-8.
- Сбросить весь кеш.
- Выйти и зайти заново на сайт, чтобы обновить данные сессии. Обновление системы и исправление ошибок.
Обновление системы и исправление ошибок
После обновления системы из административной части в битрикс 1с постоянно выходят ошибки связанные с разницей версий php. Поэтому на этом этапе программист исправлял все ошибки связанные с обновлением этой cms.
В самом конце работы заказчик проверил свой сайт и наш разработчик по сайтам битрикс 1с перенес сайт на «боевую» среду. После чего сайт успешно продолжил свою работу.
Для чего нужно регулярно обновлять сайт на битрикс 1с
Обновления cms битрикс 1с помогает защитить ваш сайт от внезапных атак связанных со старой версией php. Так с каждым обновлением разработчики этой cms устраняют обнаруженные уязвимости и делают сайт надежней. Данный факт способствует улучшению вашего сайта. Вам не придется бояться атак вирусов на ваш сайт. Поэтому обновление cms способствует снижению вероятных сбоев вашего сайта.