有时我的应用无法连接到我的数据库。
如何捕获并重定向到统计页面?
CDbConnection failed to open the DB connection: SQLSTATE[42000] [1049] Unknown database 'given_db'
有时我的应用无法连接到我的数据库。
如何捕获并重定向到统计页面?
CDbConnection failed to open the DB connection: SQLSTATE[42000] [1049] Unknown database 'given_db'
这不是最干净的解决方案,但您可以创建自定义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
绝对没有任何数据库访问权限,否则您将陷入无限重定向循环你不能只创建自己的 500 错误页面吗?查看更多信息:http ://www.yiiframework.com/doc/guide/1.1/en/topics.error#displaying-errors
您可以在组件数组中设置以下
'cache' => array('class' => 'system.caching.CDbCache'),