Правильный перенос 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
Его точный анализ позволит вам определить источник ошибок и оперативно их исправить.
Крайне рекомендую перед каждым критическим изменением внутри движка делать резервные копии как в облако, так и на диск для быстрого разворачивания архивов.
И будет вам счастье.