int error_log(string message, int message_type, string [destination
], string [extra_headers
]);エラーメッセージを Web サーバのエラーログ、 TCPポート、ファイルのいずれかに送ります。 最初のパラメータ message はログされる メッセージです。2 番目のパラメータ message_type はメッセージをどこへ送るのかを指定します。
表 1. error_log ログタイプ
| 0 | message は、オペレーティング・システム のシステムログのメカニズムまたはファイルのいずれかを使って PHP のシステム・ロガーに送られます。どちらが使われるかは、 error_log の設定 ディレクティブにより決定されます。 |
| 1 | message は、destination パラメータで指定されたアドレスに、電子メール により送られます。このメッセージタイプの場合にのみ、 4 番目のパラメータである extra_headers が使われます。このメッセージタイプは、Mail と同様に、同じ名前の内部関数を使用します。 |
| 2 | message は、PHP のデバッグ用コネクション を通して送られます。このオプションは、 リモートデバッグが有効になっている 場合のみ使用できます。このケースでは、 destination パラメータにより、 デバッグ情報を受け取るソケットのホスト名または IP アドレス、 およびオプションでポート番号を指定します。 |
| 3 | message は destination で指定されたファイルに追加されます。 |
例 1. error_log の例
// データベースに接続できない場合、
// サーバログを通してエラーを通知する。
if (!Ora_Logon($username, $password)) {
error_log("オラクルのデータベースが使用できません!", 0);
}
// Foo に失敗したら、管理者に email で通知する
if (!($foo = allocate_new_foo()) {
error_log("大変です! FOO に失敗しました!", 1,
"operator@mydomain.com");
}
// これ以外の error_log() のコール方法:
error_log("大変だ!", 2, "127.0.0.1:7000");
error_log("大変だ!", 2, "loghost");
error_log("大変だ!", 3, "/var/tmp/my-errors.log");