Правильный перенос Bitrix с версии php 5.6 на 7.2

Как мыы генерируем фото

VPS на быстром хостинге

качества настоящего маркетолога в картинках


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


Фирменный стиль для вашего проекта бесплатно в онлайн
Задать вопрос
Постараюсь ответить на любой интересующий Вас вопрос по услугам маркетолога

6661   |    2 мин., 26 сек.

Правильный перенос Bitrix с версии php 5.6 на 7.2 это не только своевременное обновление файловой системы и движка, но и настройки в файлах. Для правильного переноса Bitrix нами будут использованы два файла с настройками. Как правило затруднение перехода на новую версию связано с использованием модуля подключения к базе данных.


Типичный лог ошибок может выглядеть так:

2019-09-10 14:43:40 - Host: domain.ru - UNCAUGHT_EXCEPTION - [Error] 
Call to undefined function mysql_connect() (0)
/public_html/bitrix/modules/main/classes/mysql/database_mysql.php:19
#0: CDatabase->ConnectInternal()
/public_html/bitrix/modules/main/classes/general/database.php:215
#1: CAllDatabase->DoConnect(string)
/public_html/bitrix/modules/main/classes/mysql/database.php:76
#2: CDatabaseMysql->Connect(string, string, string, string)
/public_html/bitrix/modules/main/start.php:237
#3: require_once(string)
/public_html/bitrix/modules/main/include.php:10
#4: require_once(string)
/public_html/bitrix/modules/main/include/prolog_before.php:14
#5: require_once(string)
/public_html/bitrix/modules/main/include/prolog.php:10
#6: require_once(string)
/public_html/bitrix/header.php:1
#7: require(string)
/public_html/index.php:3
----------

Версии подключения базы данных визуально похожи, однако используют разную логику соединения и соответственно разные библиотеки. 
MYSQLI против MYSQL

Первый файл .settings.php находится в папке bitrix 

Необходимо найти строчку либо ее дописать следующей директивой : 

  'connections' => 
  array (
    'value' => 
    array (
      'default' => 
      array (
        'className' => '\\Bitrix\\Main\\DB\\MysqliConnection',
        'host' => 'localhost',

Второй файл dbconn.php находится в папке /bitrix/php_interface/

в самом начале после открытия кода php прописываем : 

define("BX_USE_MYSQLI", true);

Далее, на хостинге переключаем версию с php 5.6 на 7.2 и проверяем работу сайта. 
Если что-то идет не так с первого раза верните все обратно и посмотрите лог ошибок.

Как установить логгирование ошибок в Битрикс?

В файле .settings.php дополняем или редактируем все, что относится к exception_handling

'exception_handling' => array (
    'value' => array (
      'debug' => false,
      'handled_errors_types' => E_ALL & ~E_NOTICE & ~E_STRICT & ~E_USER_NOTICE,
      'exception_errors_types' => E_ALL & ~E_NOTICE & ~E_WARNING & ~E_STRICT & ~E_USER_WARNING & ~E_USER_NOTICE & ~E_COMPILE_WARNING,
      'ignore_silence' => false,
      'assertion_throws_exception' => true,
      'assertion_error_type' => 256,
      'log' => array (
        'settings' => array (
          'file' => 'bitrix/modules/error.log',
          'log_size' => 1000000,
        ),
      ),
    ),
    'readonly' => false,
  ),

Теперь логи ошибок будут находится в папке bitrix/modules/error.log 
Его точный анализ позволит вам определить источник ошибок и оперативно их исправить.

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

<b>Сайт для салона красоты</b> или ногтевого сервиса на Битриксе Сайт для салонов красоты - Антикризисное предложение для салонов красоты - сайт на битриксе + базовое seo за совершенно адекватные деньги. С наполнением сайта, гарантией и консультациями маркетолога. →→→

Заказать услугу
Оформите заявку на сайте, мы свяжемся с вами в ближайшее время и ответим на все интересующие вопросы.