我不希望在数据库连接失败时看到Yii错误消息.当数据库连接因Yii框架失败时,如何重定向到特定页面?谢谢.
要捕获所有 CDbConnection错误,您需要在config/main.php中启用错误处理程序
'components'=>array('errorHandler'=>array('errorAction'=>'site/error', ), ),
Run Code Online (Sandbox Code Playgroud)
然后,在您的控制器(或所有控制器的抽象基类)中,您需要定义一个操作来完成重定向.
public function actionError() {
if($error=Yii::app()->errorHandler->error)
if ( CDbException == $error->type) {
$this->redirect(array("site/error_message")); }
// call the parent error handler, but something doesn't feel right about this:
else
parent::actionError(); }
Run Code Online (Sandbox Code Playgroud)
或者,您可以只渲染自定义视图:
public function actionError() {
if($error=Yii::app()->errorHandler->error)
if ( CDbException == $error->type) {
$this->render('error', $error); } }
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅Yii文档.