Помилка - db query error - при відкритті сайту на bitrix - думки вголос

Якщо ви бачите таку помилку при заході на сайт, значить якась біда трапилася з CMS Bitrix.

  1. В першу чергу треба включити повне відображення тексту помилки. Для цього заходимо на сервер і знаходимо файл dbconn.php. Він знаходиться в папці bitrix / php_interface /
  • У цьому файлі змінюємо значення параметра DBDebug з false на true.
  • Намагаємося знову зайти на сайт. Тепер ми отримаємо повний текст помилки. У моєму випадку помилка була такою:
    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'

  • В першу чергу намагаємося відновити таблицю зі статистикою: заходимо на сервер або в phpmyadmin і виконуємо команду: REPAIR TABLE b_stat_guest;
  • У моєму випадку ця команда не допомогла, писалося повідомлення:
    Table b_stat_guest is marked as crashed and last (automatic?) Repair failed і тому нічого не залишалося робити як відключити цей модуль статистики, для цього знову відкриваємо файл dbconn.php і прописуємо в ньому команду define ( 'NO_KEEP_STATISTIC', true); і після цього ми можемо спостерігати як сайт знову оживає.
  • Якщо у вас свій, віртуальний, виділений сервер або він знаходиться в colocation, то тоді ви можете спробувати відновити пошкоджену таблицю, не вдаючись до відключення модуля. Для цього є хороша інструкція в одному з інших блогів.

    Сподіваюся, моя інструкція вам допомогла!

  • Увійти за допомогою: