Некоторое количество Содержание Системы управления, такие как Typo, Contao, Contenido или другие системы имеют проблемы с тех пор как MySQL 5.1 доступный строгий режим. Это была настройка по умолчанию с версии 5.7.
Для того, чтобы можно было использовать и эти CMS-системы, есть еще возможность отключить строгий режим на стороне сервера. Конечно, это рекомендуется только условно.
Что делает Строгий режим?
Строгий режим MySQL/MariaDB контролирует обработку недействительных или отсутствующих значений в запросах на изменение данных, включая декларации INSERT, UPDATE и CREATE.
Недействительный или отсутствующий Данные приводят к предупреждениям или ошибкам при выполнении SQL-запроса. Если режим Scrict выключен, то недействительные запросы или пропущенные значения корректируются и выдается простое предупреждение. Это может привести к неожиданным результатам.
Примером может служить ограничение по количеству символов. Если режим Strict выключен, лишние символы будут обрезаны, чтобы сделать его подходящим.
Почему это происходит только с некоторыми системами CMS?
Можно только догадываться. Наверное, код настолько обширен, что никто не может его разобрать. На система управления контентом Работает много людей, иногда они приносят индивидуальные функции, на которые потом уже не смотрят годами. До тех пор, пока не возникнет серьезных проблем, это не так уж и плохо.
С такой системой, как whmcs, которая также затронута, ситуация совсем другая. Если важные данные будут усечены, то произойдет неправильное назначение. Это может быть проблематично в случае урегулирования.
Где можно применить эти инструкции?
Инструкции относятся к системам Linux с MySQL 5.6/5.7 или MariaDB 10.1 и выше, где активен Строгий режим.
Для внесения изменений необходим корневой доступ. Наши инструкции всегда относятся к Centos Linux. В других дистрибутивах конфигурационные файлы могут находиться в других каталогах.
Шаг 1: Создание резервных копий
При редактировании файлов всегда нужно делать резервную копию. Слишком легко удалить что-то непреднамеренно.
cp -a /etc/my.cnf{,.strict.bak}
Команда создает файл my.cnf.strict.bak из файла my.cnf в том же каталоге.
Шаг 2: Отключите строгий режим MySQL
Файл обычно не содержит sql_mode=... поэтому в секцию необходимо добавить следующую строку [миклд] :
sql_mode=""
Шаг 3: Перезапуск службы MySQL
После редактирования файла необходимо перезапустить службу, чтобы применить изменения.
систематический рестарт мариады
После перезапуска службы можно проверить настройку, выполнив следующую команду. Здесь в качестве примера с паролем на сервер Plesk. Альтернативно, с помощью root и пароля.
mysql -uadmin -p`cat /etc/psa/.psa.shadow` -e "SELECT @@sql_mode;"
После этого должен появиться следующий возврат:
+————+
| @@sql_mode |
+————+
| |
+————+