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

Ошибка работы драйвера БД


replicant

Вопрос

Наблюдаю весьма интересный эффект на форуме версии 2.3.6

 

При входе на /forum/index.php?act=UserCP&CODE=08 (изменить e-mail) выскакивает ошибка при работе с базой. Нигде более на форуме такая ошибка не появлялась.

 

Текст ошибки такой

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /var/www/forum/ips_kernel/class_db_mysql_client.php on line 628

 

При этом в директорию cache падают следующие логи

 

Время: Sat, 24 Jan 2009 08:44:15 +0300

Код ошибки: 2002

Сообщение сервера: Can't connect to local MySQL server through socket '/tmp/mysqld.sock' (2)

IP-адрес клиента: 192.168.xxx.xxx

Страница: /forum/index.php?act=UserCP&CODE=08

Запрос: UPDATE ibf_sessions SET member_name=.... т.д.

 

1. MySQL у меня не на localhost, а на вынесенном сервере

2. Запрос, который падает в логи при выполнении в phpmyadmin вручную на сервере проходит и ошибок в нем нет (запросы на UPDATE этой же таблицы с CODE=02, 04 и прочих проходят без ошибок изначально, а они аналогичные и различаются только значениями id,running_time и location,), но в том все и дело что запрос этот пытается выполниться локально. Но зачем?

 

 

Вопрос следующий:

- Чего хочет UserCP&CODE=08 (или что там задействуется) от localhost и mysqld.sock и как направить его на истинный MySQL сервер?

 

В остальном форум работает нормально.

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

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

  • 0

По коду 08 я нашел запрос

'select' => '*', 'from' => 'login_methods', 'where' => 'login_enabled=1'

также в обычной капче происходит запрос на инсерт в reg_antispam

вообще это все сильно непонятно

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

  • 0

Похоже что к моменты выполнения этого запроса отваливается соединение с сервером.

 

mysql_query() посылает запрос активной базе данных сервера, на который ссылается переданный указатель. Если параметр link_identifier опущен, используется последнее открытое соединение. Если открытые соединения отсутствуют, функция пытается соединиться с СУБД, аналогично функции mysql_connect() без параметров.
mysql_connect() устанавливает соединение с сервером MySQL. Следующие значения по умолчанию установлены для отсутствующих параметров: server = 'localhost:3306', username = имя пользователя владельца процесса сервера и password = пустой пароль.
При указании параметру server значения "localhost" или "localhost:port" клиентская библиотека MySQL будет пытаться соединиться с локальным сокетом.

Как решать: либо искать причину отсоединения, либо в конфиге PHP установить ваш сервер в качестве стандартного подключения(подойдёт на VDS или PHP-CGI).

 

:D

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

  • 0

У меня есть подозрения что данная функция не сверяется с параметрами указанными в конфиге форума, а очевидно требует явного задания ей параметров.

 

Ладно, буду копаться в коде.

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

  • 0
Мало вероятно, все запросы форум выполняет через DB->query, так что различий быть не должно. По крайней мере если бы это было так, то ошибка возникала не только у вас, разве что вы ставили ранний релиз какой-нибудь, но это тоже маловероятно.
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Мало вероятно, все запросы форум выполняет через DB->query, так что различий быть не должно. По крайней мере если бы это было так, то ошибка возникала не только у вас, разве что вы ставили ранний релиз какой-нибудь, но это тоже маловероятно.

 

Может быть правки в коде или моды какие-то повлияли. Откачу обратно пару файлов и проверю.

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

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

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

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

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

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

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

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

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

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

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

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