Ошибка “DB query error” при открытии сайта на Bitrix

Если вы видите такую ошибку при заходе на сайт, значит какая-то беда случилась с CMS Bitrix.

  1. В первую очередь надо включить полное отображение текста ошибки. Для этого заходим на сервер и находим файл dbconn.php. Он находится в папке bitrix/php_interface/
  2. В этом файле изменяем значение параметра DBDebug с false на true.
  3. Пытаемся снова зайти на сайт. Теперь мы получим полный текст ошибки. В моем случае ошибка была такой:
    File: /home/…/bitrix/modules/statistic/classes/mysql/guest.php Line: 23
    MySQL Query Error: SELECT G.ID, G.FAVORITES, U.ID as LAST_USER_ID, A.ID as LAST_ADV_ID, if(to_days(curdate())=to_days(G.LAST_DATE), ‘Y’, ‘N’) LAST FROM b_stat_guest G LEFT JOIN b_stat_adv A ON A.ID = G.LAST_ADV_ID LEFT JOIN b_user U ON U.ID = G.LAST_USER_ID WHERE G.ID=’1865004′
  4.  В первую очередь пытаемся восстановить таблицу со статистикой: заходим на сервер или в phpmyadmin и выполняем команду: REPAIR TABLE b_stat_guest;
  5. В моем случае эта команда не помогла, писалось сообщение:
    Table b_stat_guest is marked as crashed and last (automatic?) repair failed и поэтому ничего не оставалось делать как отключить этот модуль статистики, для этого опять открываем файл dbconn.php и прописываем в нем команду define(‘NO_KEEP_STATISTIC’,true); и после этого мы можем наблюдать как сайт снова оживает.
  6. Если у вас свой, виртуальный, выделенный сервер или он находится в colocation, то тогда вы можете попробовать восстановить поврежденную таблицу, не прибегая к отключению модуля. Для этого есть хорошая инструкция в одном из других блогов.Надеюсь, моя инструкция вам помогла!

Добавить комментарий

Войти с помощью: