Это нерешаемый вопрос так как instantcms.
Это нерешаемый вопрос по другой причине.
Вот этот запрос
SELECT i.*
FROM cms_con_board_cats i
FORCE INDEX FOR ORDER BY (date_pub)
WHERE (i.is_hidden IS NULL) AND (i.parent_id = '1')
ORDER BY i.ns_left
должен выглядеть так:
SELECT i.*
FROM cms_con_board_cats i
WHERE (i.is_hidden IS NULL) AND (i.parent_id = '1')
ORDER BY i.ns_left
По крайней мере, так он выглядит на сайте здорового человека.
Почему вдруг появился FORCE INDEX FOR ORDER BY (date_pub) и что делалось перед тем, как появилась ошибка — автор темы не говорит.
Индекса date_pub в таблице cms_con_board_cats нет, как нет и поля date_pub.
Можно, конечно, создать его вручную...
ALTER TABLE `cms_con_board_cats` ADD INDEX `date_pub` (`ordering`) USING BTREE;
Но это будет костыль.
Лучше разобраться, почему вдруг система запросила такой индекс. Какие дополнения перед этим устанавливались?
Благодарю за ответ! Никакие. Обновился сначала до версии 2.14.0, а затем до версии 2.14.1. После какого обновления появилась ошибка точно сказать не могу.
Версия InstantCMS: 2.14.1
Веб сервер: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips mod_fcgid/2.3.9 Phusion_Passenger/5.3.7
Mysql сервер: 5.7.27
Версия PHP: 7.2.34, cgi-fcgi
Лимит памяти: 1 Гб
Макс. размер загрузки: 256 Мб
IP адрес сервера: 127.0.0.1
Обработчик сессий: files
Установлен Zend OPcache: Да
Установлен IonCube Loader: Да
Установлен Zend Guard Loader: Нет
Шаблон: Boxed