Меню ×
Ошибка! 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
	

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


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

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

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

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

наверх