アプリがデータベースに接続できないことがあります。
統計ページをキャッチしてリダイレクトするにはどうすればよいですか?
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
DB アクセスを完全に解放する必要があります。そうしないと、無限のリダイレクト ループが発生します。独自の 500 エラー ページを作成することはできませんか? 詳細については、こちらを確認してください: http://www.yiiframework.com/doc/guide/1.1/en/topics.error#displaying-errors