проверьте правильность подключения mysql - PullRequest
3 голосов
/ 16 июля 2010

У меня есть долго работающий скрипт php, который по сути является бесконечным циклом прослушивания событий (это бот xmpp), я запускаю скрипт с nohup php bot.php &.

Необработанная структура скрипта похожа на

$mysqli = mysqli_connect(...);

while(1) {
  if(event1) {
      // do database action
  } else if(event2) {
      // non database action
      echo "something";
  }
}

Когда я запускаю скрипт, все сначала отлично работает. Когда я возвращаюсь через несколько часов, бот работает нормально, если я запускаю event2, но не удается выполнить event1 с ошибкой, связанной с базой данных (PHP Fatal error: вызов функции-члена bind_param () для необъекта в строке n)

Как я могу сохранить соединение mysql действительным или есть способ проверить, действительно ли соединение mysqli так, чтобы я мог восстановить соединение иначе?

1 Ответ

5 голосов
/ 16 июля 2010

вы можете пропинговать соединение http://php.net/manual/en/function.mysql-ping.php

...