FreeBSD - メンテナンス・トラブルシュート - PHP - ログ - php.ini の編集
- 1. php.ini の編集
- 2. パスやファイル名をどうするか
- 3. ローテーション
1. php.ini の編集
/usr/local/etc/php.ini
を編集してログを出力するようにします。
; Log errors to specified file. PHP's default behavior is to leave this value
; empty.
; http://php.net/error-log
; Example:
;error_log = php_errors.log
; Log errors to syslog (Event Log on Windows).
;error_log = syslog
のあたりですな。
デフォルトではすべてコメントになっていて、すべてコメントだと apache のエラーログに出力されることになります。
; Log errors to specified file. PHP's default behavior is to leave this value
; empty.
; http://php.net/error-log
; Example:
;error_log = php_errors.log
; Log errors to syslog (Event Log on Windows).
;error_log = syslog
error_log = /パス/ファイル名
ってことになります。
2. パスやファイル名をどうするか
ログを出力するパスは、通常
/var/log
ってことになりますが。
ここの所有者は「root:wheel」です。
apache は「www:www」の権限で動作しますので(Linux の場合「apache:apache」)、デフォルトでは書き込み権限がなくて、いろんな人が悩んだりしております。
わたしの場合
/var/log/www
を作成して、その所有者を「www:www」にしておりますので、そのあたり悩まずに済みました。
ファイル名ですが「php」の章に書いております、アプリケーションからのログと一緒にしたいものですから、そこで使用しているものと同じファイル名にしました。
3. ローテーション
ローテーションに関しても悩んでいる型が多くいらっしゃるようですが、わたしは
/usr/local/etc/newsyslog.conf.d/apache.conf
に
# logfilename [owner:group] mode count size when flags [/pid_file] [sig_num]
/var/log/www/*.log www:www 644 36 * $M1D0 BG /var/run/httpd.pid
とまとめて書いてあるので、アクセスログ・エラーログと同時にローテーションすることになります。
このあたり、FreeBSD の newsyslog の恩恵です。
|
|