Перейти к контенту
  • 0

Ошибка соединения с БД в начале следующего дня


Вопрос

Никто не встречался с данной проблемой, когда на часах 0 часов, 0 минут и на форум заходит первый пользователь и появляется Ошибка соединения с БД.

Сам форум открывается, но внизу данная ошибка.

Это как-нибудь можно исправить ?

Просьба варианты типа "Удали из файл init.php E_WARNING не предлагать".

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

Думаю, что по данному вопросу нужно обращаться к хостеру.

Смотрите логи ошибок MySQL и PHP.

Изменено пользователем IT-Security
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Просто я уже сидел на многих хостингах и везде, во всех версиях форума появляется данная ошибка.

В том числе и на 127.0.0.1.

 

Вот, чо записалось в лог файл форума:

 

===================================================

Дата: Mon, 30 Apr 2007 00:03:11 +0400

Номер ошибки: 1146

Ошибка: Table 'shelkovo_shelkovo.slf_sessions' doesn't exist

IP Адрес: 77.51.23.111

mySQL query error: UPDATE slf_sessions SET member_name='Hacker',member_id=1,member_group=4,login_type=0,running_time=1177876990,location='mod:gallery',in_error=0,location_1_type='list',location_1_id=37,location_2_type='',location_2_id=0,location_3_type='',location_3_id=0 WHERE id='<id>'

 

БД форума: shelkovo_forum

Ссылка на комментарий
Поделиться на других сайтах

  • 0

GiV,

 

Дело в том, что есть следующие БД:

shelkovo_shelkovo - БД сайта

shelkovo_forum - БД форума

 

Вобщем происходит это тогда, когда на форум (возможно и сайт) заходит первый посетитель (ну например в 0 часов, 1 минуту).

Да и ещё могу сказать, что в index.php есть инклуд 1 файла (счётчик).

Он обращается к БД shelkovo_shelkovo.

Может быть можно его инклудить не через index.php, а через какой-нибудь другой файл ?

Если да, то подскажите в какой файл лучше вставить код и в какое место.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Да вообще то через index и надо.

 

Он является bootstrap скриптом и все идет через него.

 

В самом счетчике закрывается соединение с БД?

 

Ради интереса попробуйте следующее:

 

/ips_kernel/class_db_mysql.php

 

Заменить:

if( $versions[0] == 5 AND $versions[1] == 0 AND $versions[2] == 5 )
{
define( 'FORCE_MYSQL_ONLY', 1 );
}

 

На

define( 'FORCE_MYSQL_ONLY', 1 );

 

тем самым мы говорим драйверу MySQL использовать библиотеку mysql в PHP, а не mysqli.

 

И в /conf_global.php

Добавить

$INFO['sql_force_new_connection']			=	'1';

Тем самым любой коннект к серверу MySQL приводит к порождению нового ресурса, а не копированию старого.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Спасибо за ответ, чуть позже попробую так сделать.

Тоесть вы хотите сказать если соединение не закрывается, то нужно его просто закрыть ?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Спасибо, действительно помогло!

В папке cache уже перестали создаваться файлы с ошибками :D

Возник только 1 вопрос:

А почему ошибка была только в начале следующего дня ?

 

Да и в начале следующего дня скрипт счётчика создавал новую строчку (запись) в БД.

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.