Расширенная диагностика ошибок SQL - Дизайн и модификация Invision Power Board

Перейти к содержимому

 

Правила раздела

Здесь обсуждаются вопросы по настройке и администрированию форумов IPB 3.x.
Пожалуйста, не оффтопьте, если зашли сюда случайно, и обратите внимание на соседние разделы.
Установка, настройка и обслуживание форумов IPB 2.x.
Оформление форумов, включая верстку скинов.
Размещение рекламы на форумах.
SEO оптимизация форума.
Техническая поддержка наших скинов и модов.

СвернутьПрикрепленные теги

Теги не найдены

Страница 1 из 1

Расширенная диагностика ошибок SQL

#1 Пользователь не на сайте   tasker ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 145
  • Регистрация: 01-Август 13
  • Репутация: 12
  • IPB version:3.4.x
 

Отправлено 18 Август 2013 - 22:24

Здравствуйте.

Бывают ситуации, когда форум выводит сообщение об ошибке в работе с базой данных, но при этом в логе ошибок SQL ничего не появляется. Как можно включить некую расширенную диагностику таких ошибок? Видел скриншоты, где на странице с ошибкой ниже даже отображается запрос SQL, вызвавший ошибку. Как такое включить?

Спасибо!
0

#2 Пользователь не на сайте   Bot ответил: »

 
 
  • Почетный робот
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
 

Отправлено 18 Август 2013 - 22:24

Обратите внимание

"Board url", указанный вами в профиле, некорректен, либо недоступен на данный момент. Пожауйста, заполните его, потому что он скорее всего потребуется при диагностике вашей проблемы.


0

#3 Пользователь на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 681
  • Регистрация: 20-Март 09
  • Репутация: 2 260
  • IPB version:3.1.x
 

Отправлено 18 Август 2013 - 22:39

Отключить логирования запросов, тогда ошибки будут сыпаться в бразузере. Для этого надо включить режим разработчика (константа IN_DEV в conf_global.php). Но так как в этом режиме обычно могут быть траблы в публичной части форума, проще всего открыть \ips_kernel\classDb.php и

выше: if ( $this->return_die == true )
добавить: $this->obj['use_error_log'] = 0;

Но лучше все же чтобы логи записывались, и на продакшене такое не делать.
1

#4 Пользователь не на сайте   tasker ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 145
  • Регистрация: 01-Август 13
  • Репутация: 12
  • IPB version:3.4.x
 

Отправлено 18 Август 2013 - 22:42

Попробую, спасибо. В initdata.php видел несколько настроек по части дебага sql, думал, там можно что-то ещё включить.
0

#5 Пользователь на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 681
  • Регистрация: 20-Март 09
  • Репутация: 2 260
  • IPB version:3.1.x
 

Отправлено 18 Август 2013 - 22:50

IPS_SQL_DEBUG_MODE - показывает все запросы на странице, любая страница с параметром &debug=1.
IPS_SQL_DEBUG_LOG - логирует все запросы в файле.
1

#6 Пользователь не на сайте   tasker ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 145
  • Регистрация: 01-Август 13
  • Репутация: 12
  • IPB version:3.4.x
 

Отправлено 18 Август 2013 - 22:54

IPS_SQL_DEBUG_LOG дополняет обычное логирование при ошибке? Т.е. это параллельная возможность?
0

#7 Пользователь на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 681
  • Регистрация: 20-Март 09
  • Репутация: 2 260
  • IPB version:3.1.x
 

Отправлено 18 Август 2013 - 23:04

Нет, он делает лог абсолютно всех запросов которые участвуют при генерации страницы. Полезно когда нужно изучить какие запросы, за сколько и где они выполняются.
0

#8 Пользователь на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 681
  • Регистрация: 20-Март 09
  • Репутация: 2 260
  • IPB version:3.1.x
 

Отправлено 18 Август 2013 - 23:23

Просмотреть сообщениеsiv1987 сказал(а):

Для этого надо включить режим разработчика

... или в \admin\sources\base\ipsRegistry.php

найти: IN_DEV ? 0 : 1;
заменить на: ( IN_DEV OR ipsRegistry::$settings['sql_debug'] ) ? 0 : 1;

Все равно $INFO['sql_debug'] не несет никакой пользы, эта переменная по моему тянется еще со времен старых версий, а сейчас она нигде не используется. Можно ее заюзать для показа в браузере.
0

#9 Пользователь не на сайте   tasker ответил: »

 
 
  • Advanced
  • ***
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: Пользователи
  • Сообщений: 145
  • Регистрация: 01-Август 13
  • Репутация: 12
  • IPB version:3.4.x
 

Отправлено 19 Август 2013 - 08:26

siv1987, $settings['sql_debug'] всё же используется в interface\board\index.php

//--------------------------------
// Set debug mode
//--------------------------------

$registry->DB()->setDebugMode( ipsRegistry::$settings['sql_debug'] == 1 ? intval($_GET['debug']) : 0 );


А что уж делает метод setDebugMode надо смотреть.
0

#10 Пользователь на сайте   siv1987 ответил: »

 
 
  • Advanced
  • Insert nick to fast reply form
  • Quote selected text to fast reply form
  • Группа: IPB Skins Team
  • Сообщений: 8 681
  • Регистрация: 20-Март 09
  • Репутация: 2 260
  • IPB version:3.1.x
 

Отправлено 19 Август 2013 - 09:56

Регистр как переменная и установка параметров бд вне класса регистра - говорит что вряд-ли это скрипт, который участвует непосредственно при генерации страниц форума.
0

Сообщить об этой теме:


Страница 1 из 1


Быстрый ответ

  

1 пользователей читают эту тему
0 зарегистрированных, 1 гостей, 0 скрытых


Контактная информация

Вопросы по работе сайта

+7 (917) 501-4765
C 10 до 20 в рабочие дни (время московское)

Техническая поддержка

Контактные данные специалистов

Дизайн форумов

IPB 3.x ¦ IPB 2.x

Бесплатные шаблоны

IPB 3.2 – 3.4 ¦ IPB 3.1 ¦ IPB 3.0 ¦ IPB 2.2 – 2.3 ¦ IPB 2.1 ¦ Клипарт
Лицензия на использование ¦ Ваша поддержка ¦ О проекте
Copyright © 2005-2016 IPBSkins.ru Team
При копировании материалов с сайта
прямая ссылка на источник обязательна