エラー|エラー処理
PHP を使用したエラー処理
ウェブ上で最も一般的なエラーの 1 つは無効なリンクです。別のサイトからリンク切れが表示された場合は、
サイトを再配置します。人々は気に入ったサイトをブックマークし、3 か月後に戻ってきたときに「404 Not Fount」
しか表示されなかったとしても、サイトの元の情報からそのサイトを見つける方法を教えるという任務は与えられません。 。これを修正するか、少なくとも
「404」エラーが発生した場合にユーザーにフレンドリーなヘルプとトレースを提供しましょう。ページの処理中に発生したすべてのエラーを
報告する通常のページを作成できます。
PHP を Apache と組み合わせると、独自のエラー ページを自由に作成できますが、再構成と少量のコーディングが必要になります。まずは設定部分を学びましょう。
Apache の ErrorDocument ディレクティブは、エラーが発生したときに Apache がどのドキュメント (または URI) にリダイレクトすべきかを示すために使用されます。これにより、ユーザーが遭遇する可能性のあるエラー コードごとに
リソースを指定することができます。 ErrorDocument 404 ディレクティブをサーバー設定
/error.php に追加します。これにより、ユーザーが存在しないページにアクセスしたときに 'error.php' にリダイレクトされます。以下に
'error.php' ページを記述します。変更を有効にするために、Apache を再起動することを忘れないでください。
次に、簡単な error.php を書きます:
要求したファイル (=$REDIRECT_URL?>) は、このサーバー上に存在しません。
前のページから必要なファイルを見つけてください。
次に、サーバーに存在しないページを読んでみてください。error.php が表示されます。
親切なメッセージがあり、前のページへのリンクもあります。
少し拡大してみましょう。ご覧のとおり、error.php で REDIRECT_URL 変数を使用しています。この変数は、ErrorDocument ディレクティブが実行されるときに Apache によって設定され、元のリソースを見つける可能性を与えます。この場合、Apache
は他の変数も設定します。それらはすべてここにあります。これらの変数を使用すると、Apache によって提供されるデフォルト ページの代わりに、ユーザーにわかりやすくわかりやすいエラー ページを提供する優れたエラー ページを作成することができます。
PHP ページからのエラーの出力
PHP ページからのエラーの出力は、Apache が ErrorDocument ディレクティブを使用して行うことをシミュレートすることと非常によく似ており、単にユーザーをリダイレクトします。
Apache が通常はクエリ文字列変数を使用して、クエリ文字列変数を使用します。環境変数。こうすることで、同じエラー ページを使用してさまざまなエラーを処理できます。以下に例を示します:
------------------------------------------ ------ -------------------------------------
function throw_error($message) {
$error_page = "/err/error.php";
$error_url = $error_page;
$error_url .= "?REDIRECT_ERROR_NOTES=$message"; . $GLOBALS[" PHP_SELF"];
$error_url .= "&REDIRECT_REQUEST_METHOD=$REQUEST_METHOD";
Header("ステータス: 501"); ");
exit ;
}
ob_start();
// 出力バッファリングを使用して、このページの任意の場所にエラーを出力します
if(!condition) {
throw_error("条件が失敗しました");
}
ob_end_flush () ;
//ページが処理されました。出力バッファを更新します
?>---------------------------- ---------------------------------------------------- -
PHP4 の使用 出力バッファリング機能は、一般的なエラー報告機能の生成にも役立ちます。ただし、エラー ページ全体が処理されたことを確認したら
、コード内のどこでもヘッダー呼び出しを通じてリダイレクトできるように、バッファーを更新することを忘れないでください。
読者は自分のサイトに合わせて独自のエラー ページをデザインして実装できます。ユーザーがフィードバックを提供できるように、エラー ページに電子メールを含む
送信フォームを含めることができることを忘れないでください。