Перейти к контенту
  • 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, так что различий быть не должно. По крайней мере если бы это было так, то ошибка возникала не только у вас, разве что вы ставили ранний релиз какой-нибудь, но это тоже маловероятно.

 

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

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

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

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

Гость
Ответить на вопрос...

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

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

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

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

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

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

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

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