MySQL server has gone away на сокетах

nezabor
На сайте с 19.07.2010
Offline
152
117

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

Подключение в функции передаю ссылкой через GLOBALS

может и из-за ошибки в предыдущем запросе...

лог ошибок

Warning: Invalid argument supplied for foreach() in /Users/progger/www/vizg/socet/cust_fnc.inc.php on line 75

Warning: Invalid argument supplied for foreach() in /Users/progger/www/vizg/socet/cust_fnc.inc.php on line 75

Warning: Error while sending QUERY packet. PID=29515 in /Users/progger/www/vizg/inc/DbSimple/Mysqli.php on line 166

Warning: Error while sending QUERY packet. PID=29513 in /Users/progger/www/vizg/inc/DbSimple/Mysqli.php on line 166
SQL Error: MySQL server has gone away at /Users/progger/www/vizg/socet/cust_fnc.inc.php line 84<br><pre>SQL Error: MySQL server has gone away at /Users/progger/www/vizg/socet/cust_fnc.inc.php line 84<br><pre>Array
(
    [code] => 2006
    [message] => MySQL server has gone away
    [query] => UPDATE `a_user_sesions` SET `status` = 0 WHERE `ses_id` = NULL AND `status` = 1
    [context] => /Users/progger/www/vizg/socet/cust_fnc.inc.php line 84
)
Array
(
    [code] => 2006
    [message] => MySQL server has gone away
    [query] => UPDATE `a_user_sesions` SET `status` = 0 WHERE `ses_id` = NULL AND `status` = 1
    [context] => /Users/progger/www/vizg/socet/cust_fnc.inc.php line 84
)
</pre></pre>Workerman[start.php] has been stopped

то что `ses_id = NULL` это не беда с этим справлюсь

Чудес не бывает...
LEOnidUKG
На сайте с 25.11.2006
Offline
1733
#1
Скрипт в смысле долго висит в процессах и потом отваливается? Для такого надо пинговать mysql и заново подключаться в случаи чего.
✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
nezabor
На сайте с 19.07.2010
Offline
152
#2
LEOnidUKG #:
Скрипт в смысле долго висит в процессах и потом отваливается? Для такого надо пинговать mysql и заново подключаться в случаи чего.

ну да походу долго висит - это как-бы сокет...

но  вот как реализовать этот пинг в сокете
обратно возвращаться и заполнять ссылку на класс DB?

LEOnidUKG
На сайте с 25.11.2006
Offline
1733
#3
nezabor #:

ну да походу долго висит - это как-бы сокет...

но  вот как реализовать этот пинг в сокете
обратно возвращаться и заполнять ссылку на класс DB?

Я не знаю как у вас там это реализовано. Просто надо ещё раз сделать подключение, а проверяется через mysql_ping()

Если есть возможность, увеличить время ожидания на сервере mysql

nezabor
На сайте с 19.07.2010
Offline
152
#4

вот тут по идее начинает отваливаться

Warning: Error while sending QUERY packet. PID=29515 in /Users/progger/www/vizg/inc/DbSimple/Mysqli.php on line 166


SQL Error: MySQL server has gone away at /Users/progger/www/vizg/socet/cust_fnc.inc.php line 84

https://gist.github.com/rasxod/3590c813299dbf174d18e77b60d463ff

mysqli_db_simple_ping
mysqli_db_simple_ping
  • gist.github.com
mysqli_db_simple_ping. GitHub Gist: instantly share code, notes, and snippets.
nezabor
На сайте с 19.07.2010
Offline
152
#5
Может как-то на уровне класса подшаманить
nezabor
На сайте с 19.07.2010
Offline
152
#6
LEOnidUKG #:

Я не знаю как у вас там это реализовано. Просто надо ещё раз сделать подключение, а проверяется через mysql_ping()

это  чтоже получается перед каждым запросом чтоли писать не только проверку но и заново писать код подключения бред(((((

nezabor
На сайте с 19.07.2010
Offline
152
#7

а можно как-то по таймауту держать подключение?

ну только отдельным потоком
ну простенькую выборку типа количества запросов состояния БД

nezabor
На сайте с 19.07.2010
Offline
152
#8
Ну кстати если ошибок нет в запросах то конект не падает

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий