バージョン選択

フォーラム

メニュー

オンライン状況

32 人のユーザが現在オンラインです。 (27 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 32
もっと...

サイト内検索

質問 > その他 > DB接続エラーを取得したい

その他

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
se001
投稿日時: 2014/8/18 12:33
対応状況: −−−
新米
登録日: 2014/8/18
居住地:
投稿: 4
DB接続エラーを取得したい
EC-CUBEをAWSに乗せる予定なのですが、
AWSのDBメンテナンスウィンドウ(←DB切替処理)の間は、
独自のメッセージ画面を表示したいです。

現在、EC-CUBE 2.13.1で開発中で、DBはPostgreSQLを使用しようと思っています。画面遷移途中で、DBのサービスを落とすと、
「システムエラーが発生しました。〜」のメッセージは出るのですが、この時に、DB接続不可の場合のみ、違うメッセージを出力する方法を教えてください。

DBが活きていない(サービスが停止)していて、データアクセス出来ない状況を、PHPでどうやって取得すればよいでしょうか?
教えてください。
yuh
投稿日時: 2014/8/18 13:33
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1819
Re: DB接続エラーを取得したい
すっごいやっつけで作ったものになりますが、
SC_Helper_HandleError.phpのhandle_warningを下記のように変更して、
//エラーページ表示
と書いている部分で表示させたいHTMLを表示させるか、
displaySystemErrorに対して任意のメッセージを表示させるかでできるかもしれないです。
エラーメッセージの中に'connect failed'という文字列が入ってた場合に分岐させているだけなので
エラーメッセージを出して確認してみてください。

    public static function handle_warning($errno, $errstr, $errfile, $errline)
    {
        // error_reporting 設定に含まれていないエラーコードは処理しない
        if (!(error_reporting() & $errno)) {
            return;
        }

        $error_type_name = GC_Utils_Ex::getErrorTypeName($errno);

        switch ($errno) {
            case E_USER_ERROR:
                $message = "Fatal error($error_type_name): $errstr on [$errfile($errline)]";
                GC_Utils_Ex::gfPrintLog($message, ERROR_LOG_REALFILE, true);

                if ( strpos($errstr, 'connect failed') !== FALSE) {
                    //エラーページ表示もしくは
                    SC_Helper_HandleError_Ex::displaySystemError('変更したメッセージ');
                } else {
                    SC_Helper_HandleError_Ex::displaySystemError($message);
                }
                exit(1);
                break;

            case E_WARNING:
            case E_USER_WARNING:
            case E_CORE_WARNING:
            case E_COMPILE_WARNING:
                $message = "Warning($error_type_name): $errstr on [$errfile($errline)]";
                GC_Utils_Ex::gfPrintLog($message, ERROR_LOG_REALFILE);

                return true;

            default:
                break;
        }
    }
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,872名です
総投稿数は109,999件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1295
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.