NucleusでDB接続エラー時の表示をもっとリッチに
カテゴリ:Nucleus
日時:2005/11/03 01:13
NucleusがMySQLへの接続に失敗すると、
DB接続エラー=何も表示するものはない
なのだが、当サイトは性的静的なHTMLコンテンツの方がメインなので、トップページがエラーメッセージだけではちと切ない。そこで、接続エラー時の出力に手を入れてみた。 MySQLへの接続エラーメッセージは、/nucleus/lib/globalfunctions.phpのstartUpError関数で出力している。この関数で出力フォーマットを定義し、関数呼び出し時に出力したい文字列を渡すのである。
startUpError関数を改造してもよいのだが、今回は
・通常のトップページ並のページにする
・そのエラーページを変更しやすくする
・コアファイルにデータを組み込みたくない
というわけで、エラーページは別ファイル化して変更しやすくし、このページをインクルードする関数をglobalfunctions.phpに追加することにした。
globalfunctions.phpの379行目付近、startUpError関数の下辺りに
あまり需要のなさそうな改造だけど、コアファイルをいじる必要があるので自分用の備忘録としてメモ。大奥が終わるまで、毎週木曜の夜はこの機能が活躍しそう……。
Connect Errorというメッセージを出力する。Nucleusしか使っていないサイトであれば、
Could not connect to MySQL database.
DB接続エラー=何も表示するものはない
なのだが、当サイトは性的静的なHTMLコンテンツの方がメインなので、トップページがエラーメッセージだけではちと切ない。そこで、接続エラー時の出力に手を入れてみた。 MySQLへの接続エラーメッセージは、/nucleus/lib/globalfunctions.phpのstartUpError関数で出力している。この関数で出力フォーマットを定義し、関数呼び出し時に出力したい文字列を渡すのである。
startUpError関数を改造してもよいのだが、今回は
・通常のトップページ並のページにする
・そのエラーページを変更しやすくする
・コアファイルにデータを組み込みたくない
というわけで、エラーページは別ファイル化して変更しやすくし、このページをインクルードする関数をglobalfunctions.phpに追加することにした。
globalfunctions.phpの379行目付近、startUpError関数の下辺りに
function staticPage() {~
include("/hogehoge/static.php");~
exit;~
}
を追加し、306行目付近の $connection = @mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD) or startUpError('<p>Could not connect to MySQL database.</p>','Connect Error');
を $connection = @mysql_connect($MYSQL_HOST, $MYSQL_USER, $MYSQL_PASSWORD) or staticPage();
に修正する。後は、任意の場所にstatic.phpを作成して好きなようにトップページを作ればよい。ちなみに、ウチはな感じ。あえて通常のページデザインに近づけてみた。あまり需要のなさそうな改造だけど、コアファイルをいじる必要があるので自分用の備忘録としてメモ。大奥が終わるまで、毎週木曜の夜はこの機能が活躍しそう……。