Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2010.11.14;
Скачать: [xml.tar.bz2];

Вниз

MySQL Server has gone away   Найти похожие ветки 

 
Polkin ©   (2010-08-05 11:20) [0]

Добрый день!
Есть php-скрипты-парсеры, которые запускаются по крону и с определенных сайтов забирают информацию...

Тайм-аут mysql-соединения на сервере - 3 минуты. Порой получается, что текст страницы скачивается более чем за 3 минуты, поэтому было придумано, перед каждым обращение к базе подключаться к ней (mysql_connect), а сразу после выполнения запроса - отключаться (mysql_close).
Два этих момента реализованы в виде функций, Выглядет примерно так

DBConnect ();
$query = "SELECT ...";
if ($result = mysql_db_query ($GLOBALS[db_name], $query)) {
 //...
}
DBClose ();

Так вот. Странно, но если пауза между запросами составила более 3 минут (судя по логам), то следующий запрос (даже после переподключения к базе) не выполняется, мотивируя это "MySQL server has gone away"..

Есть ли какие функции для проверки, активно mysql-соединие в данный момент или нет?


 
Anatoly Podgoretsky ©   (2010-08-05 11:42) [1]

Достал ты его.


 
Polkin ©   (2010-08-05 11:45) [2]


> Anatoly Podgoretsky ©   (05.08.10 11:42) [1]


Да уж не так, как он меня во всех 32 парсерах ;) Чо уже только не пробовал... Гдето прочитал, что, если в случае такой ошибки переподключиться, то все заработает - однако это ошибочное решение (


 
Омлет ©   (2010-08-05 12:12) [3]

Открывай перед запросов, закрывай после запроса.
Зачем держать его 3 минуты?


 
Polkin ©   (2010-08-05 12:41) [4]


> Омлет ©   (05.08.10 12:12) [3]


Да в том то и дело, что перед каждым запросом вызываю функцию
DBConnect (); в ней mysql_connect, а после запроса DBClose (); в ней mysql_close();

И все равно эта сволочь держит соединение.

даже так писал в функции отключения
if (!mysql_close () ) {  
 // писать в лог ошибку
}

но ошибка не пишется - вот прям хз где может быть ошибко (


 
Омлет ©   (2010-08-05 14:51) [5]

Обрати внимание на настройки php:

mysql.allow_persistent
mysql.connect_timeout


 
Омлет ©   (2010-08-05 15:15) [6]

http://www.mysql.ru/docs/man/Gone_away.html


 
Polkin ©   (2010-08-05 15:24) [7]

Да - возможно, что соединение закрыто - никак не могу понять почему, ведь перед самым запросом я делаю mysql_connect.

А вот что написано по сслыке "Если это получено в скрипте, то достаточно просто повторить запрос от клиента, чтобы соединение автоматически восстановилось." Какая-то туфта - не срабатывает ((


 
Омлет ©   (2010-08-05 15:49) [8]

Поставь:
mysql.allow_persistent = Off


 
Polkin ©   (2010-08-05 15:55) [9]

нет, так делать нельзя - портал огромный - он просто погибнет держать много соединений.

хммм....А если через ini_set ?


 
Омлет ©   (2010-08-05 15:59) [10]

allow_persistent = Off - это значит не держать соединения открытыми.

> А если через ini_set ?

Его и имел в виду.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2010.11.14;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.003 c
15-1280483751
KilkennyCat
2010-07-30 13:55
2010.11.14
DrawText в 2010


15-1280438963
Германн
2010-07-30 01:29
2010.11.14
W7 90-days trial version


2-1282029505
03111978
2010-08-17 11:18
2010.11.14
Как прочитать данные из ячейки DBGRID


2-1281828999
Гость
2010-08-15 03:36
2010.11.14
В каком параметре записана ширина стрелочки у TComboBox?


15-1280992834
Polkin
2010-08-05 11:20
2010.11.14
MySQL Server has gone away





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский