У меня есть долго работающий PHP-скрипт, который по сути представляет собой бесконечный цикл прослушивания событий (это бот xmpp), я запускаю скрипт с помощью nohup php bot.php &.
Необработанная структура скрипта похожа на
Код: Выделить всё
$mysqli = mysqli_connect(...);
while(1) {
if(event1) {
// do database action
} else if(event2) {
// non database action
echo "something";
}
}
Когда я запускаю скрипт, поначалу все работает нормально. Когда я возвращаюсь через несколько часов, бот работает нормально, если я выдаю событие 2, но не могу выдать событие 1 с ошибкой, связанной с базой данных (Неустранимая ошибка PHP: вызов функции-члена bind_param() для объекта, не являющегося объектом в строке n)
Как я могу сохранить соединение с mysql действительным или есть ли способ проверить, действительно ли соединение с mysqli, чтобы я мог повторно подключиться в противном случае?
Подробнее здесь:
https://stackoverflow.com/questions/326 ... n-is-valid