この記事で分かること
- エラーログとは何か
- error_log関数について
- 指定したファイルにエラーログを出力する方法
※ご紹介する記事内容はMAMP
での開発環境になります
開発環境
- PHP7.3.1
- MAMP
- Mac
エラーログとは
- エラーが発生した時にエラーの内容がエラーログとして記録すること
エラーログの役割
- 期待した通りに動作が動かないときに、エラーのログを見ることで、問題の状況や原因を推測することができる
error_log関数の書き方
index.php
bool error_log (string $message[, int $message_type = 0[, string $destination
[, string $extra_headers ]]] )
パラメーター(引数)
第一引数:$message - 記録するエラーメッセージを指定します
第二引数:$message_type - メッセージのタイプを指定します
第三引数:$destination - メッセージの送信先を指定します
第四引数:$extra_headers - 追加のヘッダ(メッセージタイプが1の場合のみ)を指定します
メッセージタイプの種類(第二引数)
メッセージタイプ | 詳細 |
---|---|
0 | php.iniファイルの「error_log =」で指定したファイルに出力する。 |
1 | 第3引数で指定したメールアドレスにメールが送信されます。 |
2 | ※このオプションは使用不可 |
3 | 第3引数で指定したファイル名にエラーメッセージが追加されます。また、エラーメッセージの最後に改行が追加されません。 |
4 | エラーメッセージをSAPIログ出力ハンドラに送信します。 |
error_log関数のコード例
index.php
error_log("[".date('Y-m-d H:i:s')."]"."入力エラー", 0);
出力結果
php_error.log
[2019-04-26 06:41:05]入力エラー
解説
- メッセージタイプが「0」の場合
php.ini
で指定したファイルに出力されます。
php.ini
error_log = /Applications/MAMP/logs/php_error.log
【補足】php.iniファイルの場所を確認する方法
- MAMPでphp.iniファイルの場所を確認する方法について書きます。
1.MAMPを開いて、「Open WebStart page」をクリックする

2.「TOOLS」、「PHPINFO」をクリックする
3.phpinfoが表示され、php.iniファイルの場所が確認できます
指定したファイルにエラーログを出力する方法
※/Applications/MAMP/htdocs/src/log/log.txt
ファイルにエラーログを出力する場合を想定します。
コード例
index.php
error_log("[".date('Y-m-d H:i:s')."]"."入力エラー" . "\n", 3, "/Applications/MAMP/htdocs/src/log/log.txt");
出力結果
log.txt
[2019-04-26 06:41:05]入力エラー
解説
-
メッセージタイプが「3」の場合、第3引数で指定したファイル名にエラーメッセージが追加されます。
-
改行がされないので、改行コードを指定する必要があります。