Что за ошибка в BannerY?
Приветствую!
Переехал на ihor vps.
Все работает отлично. За исключением одного — BannerY.
Баннеры не выводятся и возникает такая ошибка:
До этого сидел на шаред хостинге timeweb — там таких ошибок не было.
MySQL — 5.7.21
PHP — 7.0.25
MODX — 2.6.1
Подскажите, как решить проблему с BannerY?
Переехал на ihor vps.
Все работает отлично. За исключением одного — BannerY.
Баннеры не выводятся и возникает такая ошибка:
[2018-03-08 09:51:47] (ERROR @ /home/bbuser/web/site.ru/public_html/core/components/pdotools/model/pdotools/pdofetch.class.php : 172) [pdoTools] Error 42000: Expression #10 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'bbuser_ds3.byAdPosition.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
Так же была такая ошибка — github.com/modxcms/revolution/issues/13730. Просто удалил виджет.До этого сидел на шаред хостинге timeweb — там таких ошибок не было.
MySQL — 5.7.21
PHP — 7.0.25
MODX — 2.6.1
Подскажите, как решить проблему с BannerY?
Комментарии: 4
Проблему нужно решать не с BannerY, а с mysql — у вас включен only_full_group_by — строгий режим группировки (как раз появился в mysql 5.7 и включен по умолчанию). Не только BannerY ошибку выдает, некоторые другие компоненты тоже будут выдавать. Этот режим нужно отключить. У вас vps — заходите в шелл, там:
после -p — пароль (если установлен)
Но после перезагрузке сервера все вернется. Поэтому в /etc/mysql/my.cnf находим строку
sql_mode = «ONLY_FULL_GROUP_BY, другие режимы...» и удаляем оттуда ONLY_FULL_GROUP_BY,
скорее всего этой строки там даже не будет, тогда на предыдущем шаге (когда находимся в строке mysql>) — вводим
вставляем в файл /etc/mysql/my.cnf после [mysqld]
подробности в гугле.
mysql -u root -p
после -p — пароль (если установлен)
mysql> SET GLOBAL sql_mode=(SELECT REPLACE(@@sql_mode, "ONLY_FULL_GROUP_BY,", ""));
mysql> SET SESSION sql_mode=(SELECT REPLACE(@@sql_mode, "ONLY_FULL_GROUP_BY,", ""));
Но после перезагрузке сервера все вернется. Поэтому в /etc/mysql/my.cnf находим строку
sql_mode = «ONLY_FULL_GROUP_BY, другие режимы...» и удаляем оттуда ONLY_FULL_GROUP_BY,
скорее всего этой строки там даже не будет, тогда на предыдущем шаге (когда находимся в строке mysql>) — вводим
SELECT @@sql_mode;
выдаст текущий список режимоввставляем в файл /etc/mysql/my.cnf после [mysqld]
sql_mode = "текущий список режимов"
примерно так будет:[mysqld]
sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
подробности в гугле.
Спасибо, добрый человек!
Получилось.
Получилось.
Спасибо!
Обновил BannerY для работы в MySQL 5.7+ со строгим режимом — можно обновляться.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.