这是问题
有一个脚本在 X 时间(5 到 40 分钟之间的未知时间)后抛出以下错误:MySQL 服务器已消失,Kohana 变成Database_Exception 2006结果某些信息未保存到数据库。
这是我认为可能有效的方法
class Model_Bar extends ORM {
protected $_belongs_to = array(
'foo' => array()
);
public function save(){ //Extends the save method
try {
$result = parent::save(); //Try parent save
} catch (Database_Exception $e) { //Catch exception
if ($e->getCode() == 2006) { //If exception code == 2006 then DB has gone away
mysqli_ping(); //Try to refresh DB link
$result = parent::save(); //Try parent save again
} else { //Exception code != 2006
throw new Exception($e); //Throw new DB exception
}
}
return $result; // Return the result from parent::save()
}
}
问题:如何刷新 Kohana 的 ORM 中的 DB 链接?
更多信息:
- 使用 Kohana 3.0.8
- 可能的解决方案(我不知道如何在 Kohana 中尝试)
谢谢!