- ベストアンサー
あらゆる例外に対応できるエラーハンドラ
- あらゆる例外に対応できるエラーハンドラを作成する方法を紹介します。
- error_log関数を使用してエラーメッセージをログに書き込む方法や、メールで送信する方法なども説明します。
- エラーハンドラの基本的な書き方や注意点についても解説しています。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
具体的に何をしたいのか不明ですが、http://jp.php.net/manual/ja/function.set-error-handler.php でいいのでは? 最初はこれで使うエラーハンドラーの書き方を聞いているのかと思ったけど、 >Warning: Division by zero in ~という文を取得するような関数は、ないものでしょうか? と、書いていると言うことは、set_error_handler 関数を知らないと言うことですよね?
その他の回答 (5)
- okbakasine
- ベストアンサー率27% (67/242)
>このあたりのエラーを取得できるものを探していたのです。 だからさぁ log_errorsとerror_logの何が不満なんだ? log_errorsとerror_logでできる事をなんでPHP側で自分で処理したいんだ? もう質問者は勝手にやってくれ。
お礼
set_error_handler 関数というものを見出せたので、こちらのほうであたってみます。回答ありがとうございました。
- BellBell
- ベストアンサー率54% (327/598)
set_error_handler
お礼
マニュアルのページですね。set_error_handlerをチェックしました。 ありがとうございます。
- okbakasine
- ベストアンサー率27% (67/242)
>Warning: Division by zero in ~という文を取得するような関数は、ないものでしょうか? 取得する必要あるの? log_errorsをでその有効にして君の求める >このようなエラーメッセージをログに書き込むなり をerror_logでファイル名を指定すれば良いだけなのに・・・・ #2 それどのレベルまでエラーや警告を表示するってだけの物。
お礼
error_reportingでエラーレベルを設定できることは、分かりました。 error_log("障害発生",3,"error.log")とすれば、ファイルに書き込まれますが、自分で、「障害発生」と打ち込まねばなりません。 このあたりのエラーを取得できるものを探していたのです。
- D-Matsu
- ベストアンサー率45% (1080/2394)
んー、PHPは門外漢ですがたぶんこれでしょうか? http://www.24w.jp/study_contents.php?bid=php&iid=php&sid=setting&cid=002
お礼
ちょっと違います。なんでエラーになったの? なんで落ちたの? という場合に、その理由(エラーメッセージ)が知りたいのです。 画面に表示させるのではなく、エラーにならないようにカバーしたつもりでも、抜けがあったときに、メールなどに送信されると、すぐ分かるからです。
- okbakasine
- ベストアンサー率27% (67/242)
>そうではなく、ゼロで除算すれば、ブラウザに、Warning: Division by zero in ~というのが表示される >ので、このようなエラーメッセージをログに書き込むなり、メールで送信したいところです。 普通にphp.iniでerror_logの設定しておけば良いだけだぞ。
お礼
設定ファイルのerror_logは、ファイルの場所を書くところですよね。Warning: Division by zero in ~という文を取得するような関数は、ないものでしょうか?
お礼
set_error_handlerを確認しました。ありがとうございます。 使い方を学んでみますね。