Yii:如果DB连接失败,如何捕获错误并重定向
有时我的应用程序无法连接到数据库 如何捕获并重定向到statis页面Yii:如果DB连接失败,如何捕获错误并重定向,yii,Yii,有时我的应用程序无法连接到数据库 如何捕获并重定向到statis页面 CDbConnection无法打开数据库连接:SQLSTATE[42000][1049]未知数据库“给定\u DB” 您可以在下面的组件数组中进行设置 'cache' => array('class' => 'system.caching.CDbCache'), 您可以在下面的组件数组中进行设置 'cache' => array('class' => 'system.caching.CDbCache
CDbConnection无法打开数据库连接:SQLSTATE[42000][1049]未知数据库“给定\u DB”
您可以在下面的组件数组中进行设置
'cache' => array('class' => 'system.caching.CDbCache'),
您可以在下面的组件数组中进行设置
'cache' => array('class' => 'system.caching.CDbCache'),
你不能创建自己的500错误页面吗?
查看此项了解更多信息:您不能创建自己的500错误页面吗?
查看此项了解更多信息:这不是最干净的解决方案,但您可以创建自定义的
DbConnection
组件:
class DbConnection extends CDbConnection
{
public function open()
{
try {
parent::open();
} catch(CDbException $e) {
Yii::app()->request->redirect(array('site/maintenance'));
}
}
}
'components' => array(
'db' => array(
'class' => 'DbComponent',
然后将其配置为db
组件:
class DbConnection extends CDbConnection
{
public function open()
{
try {
parent::open();
} catch(CDbException $e) {
Yii::app()->request->redirect(array('site/maintenance'));
}
}
}
'components' => array(
'db' => array(
'class' => 'DbComponent',
缺点是:
- 将只在网络上工作,并破坏您的控制台应用程序
- 要求
绝对不允许任何数据库访问,否则您将陷入无限重定向循环site/maintenance
DbConnection
组件:
class DbConnection extends CDbConnection
{
public function open()
{
try {
parent::open();
} catch(CDbException $e) {
Yii::app()->request->redirect(array('site/maintenance'));
}
}
}
'components' => array(
'db' => array(
'class' => 'DbComponent',
然后将其配置为db
组件:
class DbConnection extends CDbConnection
{
public function open()
{
try {
parent::open();
} catch(CDbException $e) {
Yii::app()->request->redirect(array('site/maintenance'));
}
}
}
'components' => array(
'db' => array(
'class' => 'DbComponent',
缺点是:
- 将只在网络上工作,并破坏您的控制台应用程序
- 要求
绝对不允许任何数据库访问,否则您将陷入无限重定向循环site/maintenance