有时我的应用无法连接到我的数据库。
如何捕获并重定向到统计信息页?
CDbConnection failed to open the DB connection: SQLSTATE[42000] [1049] Unknown database 'given_db'
答案 0 :(得分:4)
这不是最干净的解决方案,但您可以创建自定义DbConnection
组件:
class DbConnection extends CDbConnection
{
public function open()
{
try {
parent::open();
} catch(CDbException $e) {
Yii::app()->request->redirect(array('site/maintenance'));
}
}
}
然后将其配置为db
组件:
'components' => array(
'db' => array(
'class' => 'DbComponent',
缺点是:
site/maintenance
绝对没有任何数据库访问权限,或者您最终会进入无限重定向循环答案 1 :(得分:0)
你不能只创建自己的500错误页面吗? 请查看此信息以获取更多信息:http://www.yiiframework.com/doc/guide/1.1/en/topics.error#displaying-errors
答案 2 :(得分:-1)
您可以在组件数组
中进行设置'cache' => array('class' => 'system.caching.CDbCache'),