我不想在数据库连接失败时看到 Yii 错误信息。 当 Yii 框架的数据库连接失败时,如何重定向到特定页面? 谢谢。
最佳答案
要捕获所有 CDbConnection 错误,您需要在 config/main.php 中启用错误处理程序
'components'=>array('errorHandler'=>array('errorAction'=>'site/error', ), ),
然后,在您的 Controller (或所有 Controller 的抽象基类)中,您需要定义一个操作来完成重定向。
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(); }
或者,您可以只渲染自定义 View :
public function actionError() {
if($error=Yii::app()->errorHandler->error)
if ( CDbException == $error->type) {
$this->render('error', $error); } }
参见 Yii docs了解更多详情。
关于php - 当 Yii 中的数据库连接失败时,如何重定向到特定页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7367874/