Просто оставлю этот пост здесь для того, чтобы не искать.
Иногда бывает так, что никто ничего не трогал, но вдруг неожиданно вместо сайта висит FatalError с некой функцией. Вдвойне обидно, если это ошибка на какой-нибудь модуль из Маркета (с такой бедой даже в техподдержку не пойдёшь ведь):
Вдвойне обидно, если после возврата к бекапу от числа, когда всё 100% работало система работать не начинает. Не помогает и удаление модуля и комментирование проблемного куска. Это говорит о том, что проблема вовсе не там, где мы её наблюдаем и ищем.
В моём случае истинная проблема выглядела так:
Увы по подобным ошибкам для 1С-Битрикс мало что ценное удаётся найти, а применительно ко всему остальному интернету рекомендации сводятся к "поправь конфиги сервера БД" и "перезагрузи сервак".
В чём проблема? У меня проблему удалось детектировать с помощью SQL запроса:
Это дало:
Как видим здесь вообще не фигурирует InnoDB!!!
Если вы (как и я в этом случае) обитаете на виртуальном хостинге и не можете ни конфигурировать сервер, ни перезапускать - обратитесь в Техническую поддержку хостера (если ещё этого не сделали, а если сделали, то проделайте аналогичные манипуляции и покажите им результат).
Таблицы вашей Базы данных работают в режиме InnoDB, но самой системы нет! А должна быть!
Никакие "запросы" или "утилиты" не помогут пока система не появится.
А сама проблема может вызывать другие и маскироваться под целым слоем ошибок, никак не связанных с другими компонентами системы, которые вы будете ругать.
Вывод.
Видишь на сайте под 1С-Битрикс Unknown table engine 'InnoDB' - иди к админу.
P.S. альтернативный вариант - перевести базу на работу в режиме MyISAM.
P.P.S. вывода "видишь непонятную ошибку, закомментируй этот кусок кода" не делаю - какой-то он... с запашком, в общем... Но иногда только так и доберёшься до реальной ошибки.
Иногда бывает так, что никто ничего не трогал, но вдруг неожиданно вместо сайта висит FatalError с некой функцией. Вдвойне обидно, если это ошибка на какой-нибудь модуль из Маркета (с такой бедой даже в техподдержку не пойдёшь ведь):
Вдвойне обидно, если после возврата к бекапу от числа, когда всё 100% работало система работать не начинает. Не помогает и удаление модуля и комментирование проблемного куска. Это говорит о том, что проблема вовсе не там, где мы её наблюдаем и ищем.
В моём случае истинная проблема выглядела так:
Class: CHotKeys File: /var/www/u2302529/data/www/xn--80ahcjeib4ac4d.xn--p1ai/bitrix/modules/main/classes/general/hot_keys.php Line: 764 MySQL Query Error: SELECT * FROM b_hot_keys WHERE (1=1 AND ( USER_ID=1 ) ) [Unknown table engine 'InnoDB'] |
В чём проблема? У меня проблему удалось детектировать с помощью SQL запроса:
SHOW ENGINES |
Как видим здесь вообще не фигурирует InnoDB!!!
Если вы (как и я в этом случае) обитаете на виртуальном хостинге и не можете ни конфигурировать сервер, ни перезапускать - обратитесь в Техническую поддержку хостера (если ещё этого не сделали, а если сделали, то проделайте аналогичные манипуляции и покажите им результат).
Таблицы вашей Базы данных работают в режиме InnoDB, но самой системы нет! А должна быть!
Никакие "запросы" или "утилиты" не помогут пока система не появится.
А сама проблема может вызывать другие и маскироваться под целым слоем ошибок, никак не связанных с другими компонентами системы, которые вы будете ругать.
Вывод.
Видишь на сайте под 1С-Битрикс Unknown table engine 'InnoDB' - иди к админу.
P.S. альтернативный вариант - перевести базу на работу в режиме MyISAM.
P.P.S. вывода "видишь непонятную ошибку, закомментируй этот кусок кода" не делаю - какой-то он... с запашком, в общем... Но иногда только так и доберёшься до реальной ошибки.