Недавно столкнулся с проблемой. Встроенный инструмент проверки системы «Битрикса» в тесте «Режим работы MySQL» выдавал ошибку «Переменная sql_mode в MySQL должна быть пустая, текущее значение: ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION».
Как оказалось, это распространенная проблема, особенно на старых и давно не обновлявшихся версиях «Битрикса» (например, я столкнулся с ней на версии движка 17.5.12).
Исправление ошибки «Переменная sql_mode в MySQL должна быть пустая»
Хорошая новость заключается в том, что для исправления этой ошибки вам вовсе не нужно ничего менять в конфигурации SQL-сервера. Проблема решается на стороне самого «Битрикса».
Для ее исправления нужно открыть файл /bitrix/php_interface/after_connect.php и добавить в него строку:
$DB->Query("SET sql_mode=''");
После чего открыть файл /bitrix/php_interface/after_connect_d7.php и добавить в него следующие строки:
$connection = Bitrix\Main\Application::getConnection(); $connection->queryExecute("SET sql_mode=''");
После сохранения изменений запускаем проверку системы повторно и убеждаемся, что проблема решена.