Меню ×
Ошибка! innodb_strict_mode=ON, требуется OFF

Ошибка! innodb_strict_mode=ON, требуется OFF

Частая ошибка в режиме работы MySQL на сайтах под управлением 1С-Битрикс. В модуле main версии 19.0.400 добавилась новая проверка innodb_strict_mode. Параметр innodb_strict_mode задаёт режим работы MySQL.

Решение проблемы с innodb_strict_mode

Первый вариант

  1. Открываем в левом меню "Контент" => "Структура сайта" => "Файлы и папки".
  2. Переходим в директорию: /bitrix/php_interface/
  3. Открываем файл: after_connect_d7.php в режиме редактирования PHP кода.
  4. Вставляем строку: $connection->queryExecute("SET innodb_strict_mode=0");
  5. Сохраняем

Полный конфиг файла after_connect_d7.php

	
$connection = \Bitrix\Main\Application::getConnection();
$connection->queryExecute("SET NAMES 'utf8'");
$connection->queryExecute('SET collation_connection = "utf8_unicode_ci"');
$connection->queryExecute('SET sql_mode=""');
$connection->queryExecute("SET innodb_strict_mode=0");
	

В этой же директории /bitrix/php_interface/

  1. Открываем файл: after_connect.php в режиме редактирования PHP кода.
  2. Вставляем строку: $DB->Query("SET innodb_strict_mode=0");
  3. Сохраняем

Полный конфиг файла after_connect.php

	
$DB->Query("SET NAMES 'utf8'");
$DB->Query('SET collation_connection = "utf8_unicode_ci"');
$DB->Query("SET sql_mode=''");
$DB->Query("SET innodb_strict_mode=0");
	

Запускаем проверку системы еще раз.

Второй вариант

Если первый вариант не помог, значит необходимо внести правку в настройках MySQL. Для 1С-Bitrix окружения в файле /etc/mysql/conf.d/z_bx_custom.cnf добавить innodb_strict_mode = OFF

	
[mysqld]
innodb_strict_mode = OFF
	

После сохранения надо перезагрузить MySQL

	
service mysqld restart
	

После этого ошибки при проверке сайта не будет.


Похожие материалы

Используя даже такой простой функции для сайта, как отображать 404 страницу возникает множество сложностей.

Частая ошибка в режиме работы MySQL на сайтах под управлением 1С-Битрикс. В модуле main версии 19.0.400 добавилась новая проверка innodb_strict_mode. Параметр innodb_strict_mode задаёт режим работы MySQL.

Необходимо создать скидку на товар и включить отображение зачеркнутой старой цены.

наверх