Ошибка Table 'modx.modx_system_settings' doesn't exist
Сегодня мы поговорим об ошибке "Table 'modx.modx_system_settings' doesn't exist", которая может возникнуть после установки ModX Revolution.
Поискав в интернете решение данной проблемы я с удивлением обнаружил, что данная проблемя тянется еще с evolution. CMS инсталлируется, показывает отчет об успешной установке, но при попытке перейти в front-end или back-end части системы выводится пятисотая ошибка. Именно ее изображение начинает данный пост. Просмотр логов в директории webroot/core/cache/logs/
сигнализирует об отсутствии таблицы system_settings
в БД.
Причиной данной проблемы является ошибка в sql-коде на создание таблицы. Она возникает только в случае использования строгого режима MySQL. Поэтому на время установки нам придется отключить этот режим.
Ниже представляю вам обход данной проблемы. Мы изменим значение глобальное переменной sql_mode на время установки с помощью SQL-команд. Итак, поехали.
Сначала выведем текущий режим:
mysql> SELECT @@sql_mode; +--------------------------------------------------+ | @@sql_mode | +--------------------------------------------------+ | STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE | +--------------------------------------------------+ 1 row in set (0.00 sec)
Скопируем его, оно еще понадобится. Теперь уберем это значение:
mysql> SET GLOBAL sql_mode = ''; Query OK, 0 rows affected (0.00 sec)
Теперь можно заняться установкой ModX. Когда все готово, вернем начальный режим:
mysql> SET GLOBAL sql_mode = 'STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE'; Query OK, 0 rows affected (0.00 sec)
Теперь все готово. Можно приступать к работе с ModX.