[controlErrorLog] Уведомление об ошибках на сайте

Думаю, не только у меня были ситуации, когда заходишь в админку, а там ошибок в журнале навалило прилично, хотя всё настроено правильно. Каждый день заходить для проверки, конечно, можно, но быстро надоест. Поэтому я добавил функционал для уведомления админа о появившихся ошибках. Теперь при каждом просмотре пользователем страницы журнал ошибок проверяется на наличие новых записей. И если они появились, то высылается уведомление на указанную почту. Уведомление высылается один раз для каждого изменения журнала.

Чтобы это заработало нужно настроить 2 системные настройки.
  • control_frontend — Включает мониторинг на сайте. По-умолчанию включено.
  • admin_email — почта для уведомления о появившихся ошибках.
Сообщается не о самих ошибках, а о факте появления ошибок, т.е. проверяется изменение размера файла журнала. Проверка идёт в плагине. Дополнительной нагрузки я не выявил.
Напомню, что компонент бесплатный. Кому пригодится данный функционал плюсуйте для стимулирования моего эго. :)

Полная документация.
Сергей Шлоков
01 апреля 2016, 14:41
modx.pro
4
3 010
+17
Поблагодарить автора Отправить деньги

Комментарии: 43

Алексей Федоров
01 апреля 2016, 22:22
0
Активно пользуюсь дополнением, но не захожу на сайт каждый день, поэтому функция отправки отчета на e-mail архиполезная. Спасибо! Плюсую неистово!
Василий Столейков
04 апреля 2016, 17:58
0
Некоторые дополнения пишут в логи разную шелуху, которая ничего не значит.
Например у меня каждый день логи забиваются на несколько мегобайт бесполезными записями типа:
[2016-04-04 17:45:54] (ERROR @ /index.php) Error 23000 executing statement:
INSERT INTO `modx_tickets_views` (`parent`, `uid`, `timestamp`) VALUES (1, 0, '2016-04-04 17:45:54')
Array
(
    [0] => 23000
    [1] => 1062
    [2] => Duplicate entry '1-0-' for key 'PRIMARY'
)
Как я понял, эта ошибка будет сыпаться, пока Василий не исправит все свои пакеты modx.pro/help/5732/.
И ещё: если почта использует SMTP от Яндекса например, то там кажется есть лимит отправки сообщений в день. По сути если я включу эту функцию у себя на сайте, то она сожрёт весь лимит писем, и пользователям не останется ничего (например если они захотят зарегистрироваться на сайте).
Вот бы была возможность подключить и другие оповещения, например на skype.
    Сергей Шлоков
    04 апреля 2016, 19:37
    0
    В твоем случае вообще нет смысла включать уведомление хоть на почту, хоть в скайп, хоть куда. Зачем тебе в скайте эти мегабайты?
    Надо сначала решить проблему. Для начала обновить тикетс.
      Василий Столейков
      04 апреля 2016, 22:10
      0
      Да я и так слежу за обновлениями пакетов — у меня последние версии пакетов.
      Твоим дополнением постоянно пользуюсь — очень удобная штука для мониторинга ошибок и действий на сайте!
      Просто надеюсь что с очередным обновлением тикетса прекратятся эти лавины ругани в логи… ))
        Сергей Шлоков
        04 апреля 2016, 22:22
        0
        Ну у меня таких ошибок нет. Значит проблема на в тикетс. Кроме того, судя по логу, в инсёрте не хватает поля guest_key, из за которого и ругается mySql. Попробуй удалить и поставить заново.
          Василий Столейков
          04 апреля 2016, 22:25
          0
          Удалить тикетс????
          Ок, забэкаплю тут всё и проверю. По результатам отпишусь.
            Сергей Шлоков
            04 апреля 2016, 22:32
            0
            Таблица же останется. Нужно запомнить настройки. И чанки потом в категорию Tickets запихать, потому как после удаления они в корень съедут.
            Главное, бэкап сделать.
              Василий Столейков
              12 апреля 2016, 10:39
              0
              Неа, не помогает. Уже сколько раз пробовал.
              Деинсталлирую
              Устанавливаю по новой
              Настройки снова переношу что были
              Чанки запихиваю обратно в папку Tickets
              и пока я это делаю (буквально пару минут), в логи снова сыпятся трёхэтажные ругательства:
              [2016-04-12 10:34:00] (ERROR @ /index.php) Error 23000 executing statement:
              INSERT INTO `modx_tickets_views` (`parent`, `uid`, `timestamp`) VALUES (1, 0, '2016-04-12 10:34:00')
              Array
              (
                  [0] => 23000
                  [1] => 1062
                  [2] => Duplicate entry '1-0-' for key 'PRIMARY'
              )
              
              [2016-04-12 10:34:03] (ERROR @ /index.php) Error 23000 executing statement:
              INSERT INTO `modx_tickets_views` (`parent`, `uid`, `timestamp`) VALUES (1, 0, '2016-04-12 10:34:03')
              Array
              (
                  [0] => 23000
                  [1] => 1062
                  [2] => Duplicate entry '1-0-' for key 'PRIMARY'
              )
              
              [2016-04-12 10:34:04] (ERROR @ /index.php) Error 23000 executing statement:
              INSERT INTO `modx_tickets_views` (`parent`, `uid`, `timestamp`) VALUES (1, 0, '2016-04-12 10:34:04')
              Array
              (
                  [0] => 23000
                  [1] => 1062
                  [2] => Duplicate entry '1-0-' for key 'PRIMARY'
              )
              
              [2016-04-12 10:34:05] (ERROR @ /index.php) Error 23000 executing statement:
              INSERT INTO `modx_tickets_views` (`parent`, `uid`, `timestamp`) VALUES (1, 0, '2016-04-12 10:34:05')
              Array
              (
                  [0] => 23000
                  [1] => 1062
                  [2] => Duplicate entry '1-0-' for key 'PRIMARY'
              )
              
              [2016-04-12 10:34:07] (ERROR @ /index.php) Error 23000 executing statement:
              INSERT INTO `modx_tickets_views` (`parent`, `uid`, `timestamp`) VALUES (1, 0, '2016-04-12 10:34:07')
              Array
              (
                  [0] => 23000
                  [1] => 1062
                  [2] => Duplicate entry '1-0-' for key 'PRIMARY'
              )
              
              [2016-04-12 10:34:08] (ERROR @ /index.php) Error 23000 executing statement:
              INSERT INTO `modx_tickets_views` (`parent`, `uid`, `timestamp`) VALUES (1, 0, '2016-04-12 10:34:08')
              Array
              (
                  [0] => 23000
                  [1] => 1062
                  [2] => Duplicate entry '1-0-' for key 'PRIMARY'
              )
              
              [2016-04-12 10:34:09] (ERROR @ /index.php) Error 23000 executing statement:
              INSERT INTO `modx_tickets_views` (`parent`, `uid`, `timestamp`) VALUES (1, 0, '2016-04-12 10:34:09')
              Array
              (
                  [0] => 23000
                  [1] => 1062
                  [2] => Duplicate entry '1-0-' for key 'PRIMARY'
              )
              
              [2016-04-12 10:34:13] (ERROR @ /index.php) Error 23000 executing statement:
              INSERT INTO `modx_tickets_views` (`parent`, `uid`, `timestamp`) VALUES (1, 0, '2016-04-12 10:34:13')
              Array
              (
                  [0] => 23000
                  [1] => 1062
                  [2] => Duplicate entry '1-0-' for key 'PRIMARY'
              )
              
              [2016-04-12 10:34:15] (ERROR @ /index.php) Error 23000 executing statement:
              INSERT INTO `modx_tickets_views` (`parent`, `uid`, `timestamp`) VALUES (1, 0, '2016-04-12 10:34:15')
              Array
              (
                  [0] => 23000
                  [1] => 1062
                  [2] => Duplicate entry '1-0-' for key 'PRIMARY'
              )
              
              [2016-04-12 10:34:17] (ERROR @ /index.php) Error 23000 executing statement:
              INSERT INTO `modx_tickets_views` (`parent`, `uid`, `timestamp`) VALUES (1, 0, '2016-04-12 10:34:17')
              Array
              (
                  [0] => 23000
                  [1] => 1062
                  [2] => Duplicate entry '1-0-' for key 'PRIMARY'
              )
              
              [2016-04-12 10:34:19] (ERROR @ /index.php) Error 23000 executing statement:
              INSERT INTO `modx_tickets_views` (`parent`, `uid`, `timestamp`) VALUES (1, 0, '2016-04-12 10:34:19')
              Array
              (
                  [0] => 23000
                  [1] => 1062
                  [2] => Duplicate entry '1-0-' for key 'PRIMARY'
              )
              
              [2016-04-12 10:34:23] (ERROR @ /index.php) Error 23000 executing statement:
              INSERT INTO `modx_tickets_views` (`parent`, `uid`, `timestamp`) VALUES (1, 0, '2016-04-12 10:34:23')
              Array
              (
                  [0] => 23000
                  [1] => 1062
                  [2] => Duplicate entry '1-0-' for key 'PRIMARY'
              )
              
              [2016-04-12 10:34:25] (ERROR @ /index.php) Error 23000 executing statement:
              INSERT INTO `modx_tickets_views` (`parent`, `uid`, `timestamp`) VALUES (1, 0, '2016-04-12 10:34:25')
              Array
              (
                  [0] => 23000
                  [1] => 1062
                  [2] => Duplicate entry '1-0-' for key 'PRIMARY'
              )
              
              [2016-04-12 10:34:26] (ERROR @ /index.php) Error 23000 executing statement:
              INSERT INTO `modx_tickets_views` (`parent`, `uid`, `timestamp`) VALUES (1, 0, '2016-04-12 10:34:26')
              Array
              (
                  [0] => 23000
                  [1] => 1062
                  [2] => Duplicate entry '1-0-' for key 'PRIMARY'
              )
              
              [2016-04-12 10:34:29] (ERROR @ /index.php) Error 23000 executing statement:
              INSERT INTO `modx_tickets_views` (`parent`, `uid`, `timestamp`) VALUES (1, 0, '2016-04-12 10:34:29')
              Array
              (
                  [0] => 23000
                  [1] => 1062
                  [2] => Duplicate entry '1-0-' for key 'PRIMARY'
              )
              
              [2016-04-12 10:34:30] (ERROR @ /index.php) Error 23000 executing statement:
              INSERT INTO `modx_tickets_views` (`parent`, `uid`, `timestamp`) VALUES (1, 0, '2016-04-12 10:34:30')
              Array
              (
                  [0] => 23000
                  [1] => 1062
                  [2] => Duplicate entry '1-0-' for key 'PRIMARY'
              )
              
              [2016-04-12 10:34:35] (ERROR @ /index.php) Error 23000 executing statement:
              INSERT INTO `modx_tickets_views` (`parent`, `uid`, `timestamp`) VALUES (1, 0, '2016-04-12 10:34:35')
              Array
              (
                  [0] => 23000
                  [1] => 1062
                  [2] => Duplicate entry '1-0-' for key 'PRIMARY'
              )
              
              [2016-04-12 10:34:36] (ERROR @ /index.php) Error 23000 executing statement:
              INSERT INTO `modx_tickets_views` (`parent`, `uid`, `timestamp`) VALUES (1, 0, '2016-04-12 10:34:36')
              Array
              (
                  [0] => 23000
                  [1] => 1062
                  [2] => Duplicate entry '1-0-' for key 'PRIMARY'
              )
              
              [2016-04-12 10:34:37] (ERROR @ /index.php) Error 23000 executing statement:
              INSERT INTO `modx_tickets_views` (`parent`, `uid`, `timestamp`) VALUES (1, 0, '2016-04-12 10:34:37')
              Array
              (
                  [0] => 23000
                  [1] => 1062
                  [2] => Duplicate entry '1-0-' for key 'PRIMARY'
              )
              
              [2016-04-12 10:34:38] (ERROR @ /index.php) Error 23000 executing statement:
              INSERT INTO `modx_tickets_views` (`parent`, `uid`, `timestamp`) VALUES (1, 0, '2016-04-12 10:34:38')
              Array
              (
                  [0] => 23000
                  [1] => 1062
                  [2] => Duplicate entry '1-0-' for key 'PRIMARY'
              )
              
              [2016-04-12 10:34:39] (ERROR @ /index.php) Error 23000 executing statement:
              INSERT INTO `modx_tickets_views` (`parent`, `uid`, `timestamp`) VALUES (1, 0, '2016-04-12 10:34:39')
              Array
              (
                  [0] => 23000
                  [1] => 1062
                  [2] => Duplicate entry '1-0-' for key 'PRIMARY'
              )
              
              [2016-04-12 10:34:41] (ERROR @ /index.php) Error 23000 executing statement:
              INSERT INTO `modx_tickets_views` (`parent`, `uid`, `timestamp`) VALUES (1, 0, '2016-04-12 10:34:41')
              Array
              (
                  [0] => 23000
                  [1] => 1062
                  [2] => Duplicate entry '1-0-' for key 'PRIMARY'
              )
              
              [2016-04-12 10:34:42] (ERROR @ /index.php) Error 23000 executing statement:
              INSERT INTO `modx_tickets_views` (`parent`, `uid`, `timestamp`) VALUES (1, 0, '2016-04-12 10:34:42')
              Array
              (
                  [0] => 23000
                  [1] => 1062
                  [2] => Duplicate entry '1-0-' for key 'PRIMARY'
              )
              
              [2016-04-12 10:34:43] (ERROR @ /index.php) Error 23000 executing statement:
              INSERT INTO `modx_tickets_views` (`parent`, `uid`, `timestamp`) VALUES (1, 0, '2016-04-12 10:34:43')
              Array
              (
                  [0] => 23000
                  [1] => 1062
                  [2] => Duplicate entry '1-0-' for key 'PRIMARY'
              )
              
              [2016-04-12 10:34:45] (ERROR @ /index.php) Error 23000 executing statement:
              INSERT INTO `modx_tickets_views` (`parent`, `uid`, `timestamp`) VALUES (1, 0, '2016-04-12 10:34:45')
              Array
              (
                  [0] => 23000
                  [1] => 1062
                  [2] => Duplicate entry '1-0-' for key 'PRIMARY'
              )
              
              [2016-04-12 10:34:46] (ERROR @ /index.php) Error 23000 executing statement:
              INSERT INTO `modx_tickets_views` (`parent`, `uid`, `timestamp`) VALUES (204, 0, '2016-04-12 10:34:46')
              Array
              (
                  [0] => 23000
                  [1] => 1062
                  [2] => Duplicate entry '204-0-' for key 'PRIMARY'
              )
              
              [2016-04-12 10:34:48] (ERROR @ /index.php) Error 23000 executing statement:
              INSERT INTO `modx_tickets_views` (`parent`, `uid`, `timestamp`) VALUES (1, 0, '2016-04-12 10:34:48')
              Array
              (
                  [0] => 23000
                  [1] => 1062
                  [2] => Duplicate entry '1-0-' for key 'PRIMARY'
              )
              
              [2016-04-12 10:34:49] (ERROR @ /index.php) Error 23000 executing statement:
              INSERT INTO `modx_tickets_views` (`parent`, `uid`, `timestamp`) VALUES (1, 0, '2016-04-12 10:34:49')
              Array
              (
                  [0] => 23000
                  [1] => 1062
                  [2] => Duplicate entry '1-0-' for key 'PRIMARY'
              )
              
              [2016-04-12 10:34:50] (ERROR @ /index.php) Error 23000 executing statement:
              INSERT INTO `modx_tickets_views` (`parent`, `uid`, `timestamp`) VALUES (1, 0, '2016-04-12 10:34:50')
              Array
              (
                  [0] => 23000
                  [1] => 1062
                  [2] => Duplicate entry '1-0-' for key 'PRIMARY'
              )
              
              [2016-04-12 10:34:51] (ERROR @ /index.php) Error 23000 executing statement:
              INSERT INTO `modx_tickets_views` (`parent`, `uid`, `timestamp`) VALUES (1, 0, '2016-04-12 10:34:51')
              Array
              (
                  [0] => 23000
                  [1] => 1062
                  [2] => Duplicate entry '1-0-' for key 'PRIMARY'
              )
                Сергей Шлоков
                12 апреля 2016, 11:59
                +1
                Больной, вам нужна операция. Лучше конечно, чтобы главврач глянул :). Но пока давай займемся самолечением. :)
                1. Можно попробовать отключить подсчет просмотров гостями. Если не помогло, идем дальше.

                2. Можно в плагине Tickets попробовать закомментировать вызов функции $Tickets->logVew(). Очисти журнал ошибок и походи по сайту.

                Посмотри структуру таблицы modx_tickets_views. Должно быть так
                CREATE TABLE IF NOT EXISTS `modx_tickets_views` (
                  `parent` int(10) unsigned NOT NULL DEFAULT '0',
                  `uid` int(10) unsigned NOT NULL DEFAULT '0',
                  `timestamp` datetime NOT NULL,
                  `guest_key` char(32) NOT NULL DEFAULT ''
                ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
                
                -- Индексы таблицы `modx_tickets_views`
                ALTER TABLE `modx_tickets_views`
                 ADD PRIMARY KEY (`parent`,`uid`,`guest_key`);
                Это для начала.
                  Василий Столейков
                  13 апреля 2016, 07:25
                  0
                  Подсчёт отключать для гостей не вариант — он нужен был изначально.
                  Структура таблицы один в один.
                  А вот после комментирования функции $Tickets->logVew() лог сказочно очистился — давно его таким не наблюдал — аж душе приятно!
                  Спасибо за совет, теперь всё в норме!

                  P.S. А зависания исчезли после обновления движка и controlErrorLog до последних версий (не знаю после чего именно).
                    Василий Столейков
                    13 апреля 2016, 07:51
                    0
                    Заметил что просмотры гостями вообще не срабатывают — видно отсюда и ошибки сыпались. Пришлось на время отключить их…
                      Сергей Шлоков
                      13 апреля 2016, 08:29
                      +1
                      Заметил что просмотры гостями вообще не срабатывают — видно отсюда и ошибки сыпались.
                      Конечно. Поэтому я и посоветовал начать с отключения гостей. Ошибка при инсёрте просмотров пользователей с id=0, а это гости.
                      Странно, что инсёртятся 3 поля, а не 4. Нет поля guest_key. Поэтому в таблицу пишется пустое значение в это поле. А так как оно является частью первичного ключа, то при добавлении второй записи с пустым значением происходит ошибка, так как такой ключ уже есть.
                      Тут дебажить надо.
                  Василий Столейков
                  12 апреля 2016, 11:36
                  0
                  + у меня начала зависать админка при открытии модалки controlErrorLog-а. Виснет админка и при открытии стандартной страницы логов в отчётах. Не знаю, связано оно с постоянным забиванием этих ошибок, или может с обновлением на последнюю версию MODX на модхосте (2.4.4-pl)…
                  Роман Садоян
                  04 апреля 2016, 22:39
                  0
                  Деинсталировать.
        Clean
        22 мая 2016, 02:06
        0
        у меня подобная проблема, обновил sql на сервере до последней версии 5.7 — при установке tickets
        Could not create table `modx_tickets_views` SQL: CREATE TABLE `modx_tickets_views` (`parent` INT(10) unsigned NOT NULL DEFAULT '0', `uid` INT(10) unsigned NOT NULL DEFAULT '0', `guest_key` CHAR(32) NULL, `timestamp` DATETIME NOT NULL, PRIMARY KEY (`parent`,`uid`,`guest_key`)) ENGINE=MyISAM ERROR: Array ( [0] => 42000 [1] => 1171 [2] => All parts of a PRIMARY KEY must be NOT NULL; if you need NULL in a key, use UNIQUE instead )

        при этом на тестовом сайте где sql более ранняя все работает. возможно в этом дело, думаю как решить.

        сходу гуглится репорт
        github.com/rails/rails/issues/13203
        и изменения
        dev.mysql.com/doc/relnotes/mysql/5.7/en/news-5-7-3.html

        Columns in a PRIMARY KEY must be NOT NULL, but if declared explicitly as NULL produced no error. Now an error occurs. For example, a statement such as CREATE TABLE t (i INT NULL PRIMARY KEY) is rejected. The same occurs for similar ALTER TABLE statements. (Bug #13995622, Bug #66987, Bug #15967545, Bug #16545198)
        @Василий, возможно имеет смысл поправить в базе структуру под требования последней версии mysql?
          Василий Наумкин
          22 мая 2016, 06:50
          0
            Clean
            22 мая 2016, 15:27
            0
            Собрал пакет с гита, но ошибка осталась
            Could not create table `modx_tickets_views` SQL: CREATE TABLE `modx_tickets_views` (`parent` INT(10) unsigned NOT NULL DEFAULT '0', `uid` INT(10) unsigned NOT NULL DEFAULT '0', `guest_key` CHAR(32) NULL DEFAULT '', `timestamp` DATETIME NOT NULL, PRIMARY KEY (`parent`,`uid`,`guest_key`)) ENGINE=MyISAM ERROR: Array ( [0] => 42000 [1] => 1171 [2] => All parts of a PRIMARY KEY must be NOT NULL; if you need NULL in a key, use UNIQUE instead
              Василий Наумкин
              22 мая 2016, 17:48
              0
              Поправил еще раз, проверяй.

              Собирать ничего не нужно, последняя версия лежит в modstore.pro.
                Clean
                22 мая 2016, 22:39
                0
                к сожалению теперь другая проблема, с другой таблицей:
                Could not create table `modx_tickets_stars` SQL: CREATE TABLE `modx_tickets_stars` (`id` INT(10) unsigned NOT NULL DEFAULT '0', `class` VARCHAR(100) NULL DEFAULT 'Ticket', `owner` INT(10) unsigned NOT NULL DEFAULT '0', `createdon` DATETIME NULL, `createdby` INT(10) unsigned NOT NULL DEFAULT '0', PRIMARY KEY (`id`,`createdby`,`class`), INDEX `createdon` (`createdon`), INDEX `owner` (`owner`)) ENGINE=MyISAM ERROR: Array ( [0] => 42000 [1] => 1171 [2] => All parts of a PRIMARY KEY must be NOT NULL; if you need NULL in a key, use UNIQUE instead )
                  Василий Наумкин
                  22 мая 2016, 23:26
                  +1
                  Ну конечно! Вместо того, чтобы самому разобраться со всеми таблицами и прислать готовый PR в репозиторий, мы будем продолжать дальше играть в слепую обезьяну.

                  Третья попытка.
                    Clean
                    22 мая 2016, 23:34
                    0
                    Василий, без проблем — могу это сделать сам и выслать, так и сделаю сейчас, просто я думал что у тебя есть все уже готовое под рукой и проверить результат будет проще.
                    сейчас ошибка с
                    Could not create table `modx_tickets_files` SQL: CREATE TABLE `modx_tickets_files` (`id` INTEGER unsigned NOT NULL AUTO_INCREMENT, `parent` INT(10) unsigned NOT NULL DEFAULT '0', `class` VARCHAR(100) NULL, `source` INT(10) unsigned NULL DEFAULT '1', `name` VARCHAR(255) NOT NULL, `description` TEXT NULL, `path` VARCHAR(255) NOT NULL, `file` VARCHAR(255) NOT NULL, `type` VARCHAR(50) NULL, `size` INT(10) unsigned NOT NULL DEFAULT '0', `createdon` DATETIME NULL DEFAULT '0000-00-00 00:00:00', `createdby` INT(10) unsigned NOT NULL DEFAULT '0', `url` VARCHAR(255) NOT NULL, `thumb` VARCHAR(255) NOT NULL, `thumbs` TEXT NULL, `deleted` TINYINT(1) NULL DEFAULT '0', `properties` TEXT NULL, `hash` CHAR(40) NULL DEFAULT '', PRIMARY KEY (`id`), INDEX `parent` (`parent`,`class`), INDEX `source` (`source`), INDEX `type` (`type`), INDEX `deleted` (`deleted`), INDEX `hash` (`hash`)) ENGINE=MyISAM ERROR: Array ( [0] => 42000 [1] => 1067 [2] => Invalid default value for 'createdon' )
                      Clean
                      23 мая 2016, 00:40
                      0
                      посмотрел код, да и вообще мануалы по последнему mysql — лечить эту ошибку с датами такого вида должна системная настройка, сейчас попробую сделать, протестирую и отпишусь, править код думаю не стоит — слишком много где так используется default для timestamp
                        Clean
                        23 мая 2016, 00:46
                        0
                        как я и сказал, проблема была в SQL_MODE стояли no_zero_date и no_zero_in_date. Сейчас убрал — все завелось, Василий спасибо.
                        SQL_MODE у меня сейчас такой:
                        sql_mode=STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

                        не могу однозначно сказать, повредит ли чему-то отсутствие таких проверок дат, но по идее раньше ведь работало :)
                        sql версия
                        mysql-server-5.7 is already the newest version (5.7.12-0ubuntu1).
                          Николай
                          30 января 2017, 20:55
                          0
                          Добрый день, а вы базу по новой пересоздавали или компонент нормально поставился после смены SQL_MODE?
                            Воеводский Михаил
                            30 января 2017, 23:37
                            0
                            Скорее всего, нормально. Ибо после отключения строгих директив привычные методы выборки и добавления данных начинают работать как в более старых версиях.
                      Василий Наумкин
                      23 мая 2016, 08:07
                      0
                      Поставил себе на сервер для разработки MySQL 5.7, исправил эти ошибки и буду исправлять их впредь во всех остальных пакетах, как увижу.

                      Tickets в репозитории обновил еще раз, без смены версии.
                        Василий Наумкин
                        23 мая 2016, 09:15
                        0
                        Рановато использовать 5.7 с MODX. Ни один компонент не может даже создать системные настройки из-за ошибок по умолчанию
                        [2016-05-23 08:37:44] (INFO @ /home/s2/www/core/model/modx/transport/modtransportpackage.class.php : 272) Загрузка рабочего пространства пакета...
                        [2016-05-23 08:37:44] (INFO @ /home/s2/www/core/model/modx/transport/modtransportpackage.class.php : 280) Рабочее пространство загружено, сейчас устанавливаем пакет...
                        [2016-05-23 08:37:44] (ERROR @ /home/s2/www/core/xpdo/om/xpdoobject.class.php : 1452) Error 22007 executing statement:
                        INSERT INTO `mysql_system_settings` (`key`, `value`, `xtype`, `namespace`, `area`) VALUES ('mgr_tree_icon_mscategory', 'icon icon-barcode', 'textarea', 'minishop2', 'ms2_category')
                        Array
                        (
                            [0] => 22007
                            [1] => 1292
                            [2] => Incorrect datetime value: '0000-00-00 00:00:00' for column 'editedon' at row 1
                        )
                        Так что, у кого есть желание — шлите PR в xPDO и MODX с исправлениями, а я пока откатываюсь в разработке на 5.5, которая идёт по умолчанию в LTS Ubuntu 14.04.
                          Николай
                          29 января 2017, 23:18
                          0
                          С тех пор ничего не поменялось? Так и не дружит с MySQL 5.7?
                            Воеводский Михаил
                            30 января 2017, 04:52
                            0
                            Дружит неплохо, если изменить переменную sql_mode — убрать NO_ZERO_DATE и NO_ZERO_IN_DATE. Но в приведенной Василием таблице изменений нет — при настройках по умолчанию MODX пока еще несовместим с MySQL 5.7.
                            Воеводский Михаил
                            30 января 2017, 08:21
                            0
                            И еще одна опция мешает: ONLY_FULL_GROUP_BY.
                            Николай
                            30 января 2017, 20:21
                            0
                            Создал /etc/mysql/conf.d/disable_strict_mode.cnf

                            Заполнил:
                            [mysqld]
                            sql_mode=IGNORE_SPACE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

                            Перезапустил.

                            Не помогло.

                            Что может быть не так?
                            Воеводский Михаил
                            30 января 2017, 23:38
                            0
                            У меня тоже не срабатывало в отдельных файлах, в итоге добавил еще одну строку в /etc/mysql/mysql.conf.d/mysqld.cnf.
                            Николай
                            01 февраля 2017, 13:08
                            0
                            Не помогает, к сожалению.

                            А у вас какая версия mysql и компонента?

                            Я так понял, что эти изменения от Василия так и не вышли, компонент от 1.6.17 pl так и не появился((
                            Николай
                            01 февраля 2017, 13:29
                            0
                            Каюсь, я из репозитория modx брал версию(((
                            Все установил, все работает.
                            Николай
                            30 января 2017, 20:27
                            1
                            0
                            Создал /etc/mysql/conf.d/disable_strict_mode.cnf

                            Заполнил:
                            [mysqld]
                            sql_mode=IGNORE_SPACE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

                            Перезапустил.

                            Не помогло.

                            Что может быть не так?
        Василий Столейков
        09 февраля 2017, 11:29
        1
        0
        Было бы здорово добавить возможность автоочистки лога, особенно большого.
        Например в настройках указать количество строк, которые будут показваться (500 например). А то из-за обилия сообщений в логах он у меня забивается за пару часов на 7-10 мегабайт, после чего сайт может зависнуть…

        Забивается в основном логами, которые я пока не могу отследить, типа этих:

        [2017-02-09 10:24:22] (ERROR @ /home/s***/www/core/xpdo/om/xpdoquery.class.php : 766) Encountered empty IN condition with key user_id
        [2017-02-09 10:24:22] (ERROR @ /home/s***/www/core/components/pdotools/vendor/fenom/fenom/src/Fenom/Modifier.php : 199) PHP warning: Missing argument 3 for Fenom\Modifier::replace(), called in /home/s***/www/core/components/pdotools/vendor/fenom/fenom/src/Fenom/Template.php(487) : eval()'d code on line 662 and defined
        [2017-02-09 10:24:22] (ERROR @ /home/s***/www/core/components/pdotools/vendor/fenom/fenom/src/Fenom/Modifier.php : 199) PHP warning: Missing argument 3 for Fenom\Modifier::replace(), called in
          Сергей Шлоков
          09 февраля 2017, 11:47
          +1
          Cron в помощь. Вырос больше положенного — чик.
            Василий Столейков
            09 февраля 2017, 11:50
            1
            0
            Ок, спасибо. А не подскажешь, как чикать нужно правильно? Где находится файл с логами или нужно ещё и в базе что-то чистить?
              Сергей Шлоков
              09 февраля 2017, 12:19
              2
              +1
              Логи лежат в core/cache/logs/error.log
              $f = $modx->getOption(xPDO::OPT_CACHE_PATH) . 'logs/error.log';
              if (file_exists($f)) {
              	$filesize = filesize($f) / 1024 / 1024;
              	// Если больше 5МБ, удалить
              	if ($filesize > 5) unlink($f); 
              }
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        43