Консультация № 179440
08.07.2010, 02:41
42.80 руб.
0 3 1
Добрый день.
Есть скрипт, который парсит новостную rss и полученные данные записывает в базу данных в цикле.
На локальном и на моём местном хостинге скрипт работает нормально, но на хостинге заказчика при работе скрипта выдаётся mysql_errno() - 2006, mysql_error() - MySQL server has gone away
посмотрел немного в гугле, нашёл такую вешь, что есть переменная wait_timeout, посмотрев на своём хостинге, увидел, что значение переменной равно 28800, а на хостенге заказчика значение равно 30.Получается, что на хостинге заказчика, сервер ожидает активности соединения всего 30 секунд и потом закрывает его.
Можно ли самому, в скрипте выставить время ожидания или надо связываться с хостером или это проблема в самом скрипте?

Обсуждение

Неизвестный
10.07.2010, 13:19
общий
это ответ
Здравствуйте, Slo_nik.
http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html#sysvar_wait_timeout
Установить можно после установления соединения


Приложение:
SET wait_timeout=28800
Неизвестный
12.07.2010, 09:24
общий
Никто не заставляет держать соединение открытым постоянно. Можно при появлении новых данных открывать соединение, выполнять запросы, закрывать соединение.
Неизвестный
12.07.2010, 09:46
общий
Цитата: Slo_nik
сервер ожидает активности соединения всего 30 секунд

Это значит, что Вы пишите в базу не чаще чем раз в минуту. Следовательно, действительно, весьма расточительно держать конект открытым постоянно.
Если бы это было 10 раз в сек. или хотя бы в приделах 10 сек..
Форма ответа