error_log
(PHP 4, PHP 5, PHP 7)
error_log — 定義されたエラー処理ルーチンにエラーメッセージを送信する
説明
error_log
( string $message
[, int $message_type
= 0
[, string $destination
[, string $extra_headers
]]] ) : bool
エラーメッセージを Web サーバーのエラーログあるいはファイルに送ります。
パラメータ
message
ログに記録されるエラーメッセージ。
message_type
メッセージをどこに送るのかを指定します。以下の中から指定できます。
error_log() ログタイプ 0 message
は、オペレーティング・システムのシステムログのメカニズムまたはファイルのいずれかを使って PHP のシステム・ロガーに送られます。どちらが使われるかは、 設定ディレクティブ error_log の内容により決定されます。これはデフォルトのオプションです。
1 message
は、destination
パラメータで指定されたアドレスに、電子メールにより送られます。このメッセージタイプの場合にのみ、 4 番目のパラメータである
extra_headers
が使われます。2 このオプションは存在しません。 3 message
はdestination
で指定されたファイルに追加されます。明示的に指定しない限り、
message
の 最後には改行文字は追加されません。4 message
は、直接 SAPIのログ出力ハンドラに送信されます。
destination
メッセージの送信先。その設定は、上で説明している
message_type
パラメータの値によります。extra_headers
追加のヘッダ。
message_type
パラメータが1
に設定される場合に利用されます。 このメッセージタイプは、mail() と同様に 内部関数を利用します。
返り値
成功した場合に true
を、失敗した場合に false
を返します。
注意
警告
error_log() はバイナリセーフではありません。
message
に null 文字があれば、そこで切り詰められます。
ヒント
message
に null 文字を含めてはいけません。
message
の送り先はファイルやメール、そして syslog などになることもあります。
base64_encode() や rawurlencode()、addslashes()
などの関数で適切に変換してから error_log() に渡す必要があります。
例
例1 error_log() の例
<?php// データベースに接続できない場合、// サーバーログを通してエラーを通知する。if (!Ora_Logon($username, $password)) { error_log("オラクルのデータベースが使用できません!", 0);}// FOO に失敗したら、管理者に email で通知するif (!($foo = allocate_new_foo())) { error_log("大変です。FOO に失敗しました!", 1, "operator@example.com");}// これ以外の error_log() のコール方法:error_log("大変だ!", 3, "/var/tmp/my-errors.log");?>