0

アプリがデータベースに接続できないことがあります。

統計ページをキャッチしてリダイレクトするにはどうすればよいですか?

CDbConnection failed to open the DB connection: SQLSTATE[42000] [1049] Unknown database 'given_db'

4

3 に答える 3

4

これは最もクリーンなソリューションではありませんが、カスタム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',

欠点は次のとおりです。

  • Web でのみ機能し、コンソール アプリを壊します
  • site/maintenanceDB アクセスを完全に解放する必要があります。そうしないと、無限のリダイレクト ループが発生します。
于 2013-09-16T19:50:33.713 に答える
0

独自の 500 エラー ページを作成することはできませんか? 詳細については、こちらを確認してください: http://www.yiiframework.com/doc/guide/1.1/en/topics.error#displaying-errors

于 2013-09-16T13:54:41.040 に答える