我有一个长期运行的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但是在发出带有数据库相关错误的事件1时失败了,那么机器人工作正常(PHP致命错误:在线路n上的非对象上调用成员函数bind_param())< / p>
如何保持mysql连接有效,或者有办法检查mysqli连接是否有效,以便我可以重新连接吗?