У меня есть консольный php-скрипт, который постоянно крутится на одной машине в локалке, и пользуется MySQL-сервером с другой. Решил сделать так, чтобы в случае, если MySQL сдох (например, я выключил комп с ним), скрипт реагировал на ошибку "MySQL server has gone away": пытался реконнектиться каждую минуту, пока сервер не появится.
Но проблема в том, что сколько MySQL сервер обратно ни включай, "MySQL server has gone away" случается даже при попытке сделать mysql_connect(), что бредово.
В Инете решения не нашёл, собственно, могу обойтись и без этой фичи, но всё-таки интересно, что за фигня.
(1) Re: Вопрос по PHP/MySQL - проблема Server has gone away
11/06/11 22:53 © overmind
http://php.net/manual/ru/function.mysql-ping.php
<?php
function database_connect() {
$conn = mysql_connect('localhost', 'username', 'password');
mysql_select_db('database', $conn);
return $conn;
}
$conn = database_connect();
if (!mysql_ping($conn)) {
// the previous connection must be closed (even if it was dropped) to reinitialize correctly
mysql_close($conn);
// reconnect
$conn = database_connect();
}
в php.ini Если используется mysqli модуль
то mysqli.reconnect = On
<?php
function database_connect() {
$conn = mysql_connect('localhost', 'username', 'password');
mysql_select_db('database', $conn);
return $conn;
}
$conn = database_connect();
if (!mysql_ping($conn)) {
// the previous connection must be closed (even if it was dropped) to reinitialize correctly
mysql_close($conn);
// reconnect
$conn = database_connect();
}
в php.ini Если используется mysqli модуль
то mysqli.reconnect = On
Ещё на темы mysql, gone, php:
Вопрос по HTTP аутентификации
© LovinGOD, 25/11/08 10:02
Как посмотреть дату expire куки на php?
© LovinGOD, 07/04/09 20:50
Требуются удалённые помощники
© LovinGOD, 27/09/10 19:34
Думу сожрал error_log
© LovinGOD, 08/12/10 12:56
Вопрос по mysql - выборка каждой n-й строки
© LovinGOD, 16/05/11 14:51