我有一个长期运行的PHP脚本,它基本上是一个无限循环,用于监听事件(它是一个xmpp bot),我用
nohup php bot.php &
.
脚本的原始结构如下
$mysqli = mysqli_connect(...);
while(1) {
if(event1) {
// do database action
} else if(event2) {
// non database action
echo "something";
}
}
当我运行脚本时,一切都会在一开始正常工作。当我几个小时后回来时,如果我发出event2,但由于数据库相关错误(php致命错误:调用第n行中非对象的成员函数bind_param())而无法发出event1,bot将正常工作。
如何保持MySQL连接有效,或者是否有方法检查MySQLI连接是否有效,以便重新连接?