PHPのLOG出力設定

 Linuxサーバ上でPHPのLOGをファイルに出力する設定について、簡潔にまとめてみました。

やりたいこと

 phpのerror_log()関数で出力されるlogを以下のように”/var/log/php/”に出力して、logrotateを使って一定期間でローテートしたい。

/
var/
log/
php/
php_errors.log
php_errors.log-20151001
php_errors.log-20151008

PHPのLOG出力設定

log置き場の作成

 ”/var/log/php/”にログファイルを出力させたいので、ディレクトリが無ければ作成しておきます。

php.iniの設定

 phpのlogの出力先は設定ファイル”php.ini”で設定します。
“php.ini”の場所は以下のコマンドで確認出来ます。

 ”php.ini”を開いて下記の行を追加してerror_logのデフォルトの出力先を”/var/log/php/php_errors.log”に設定します。

apacheの再起動

 apacheのmoduleとしてphpを利用している場合は、設定を反映させるためapacheの再起動をします。

log出力の確認

 phpの”-r”オプションでコマンドラインからerror_log()を実行して、設定したファイルにlogが出力されていることを確認します。


LOGROTATEの設定

 ログのローテートはlogrotateコマンドを使います。
ここではhttpdのローテート用の設定をコピーして作成する方法を紹介します。

phpのlogrotate設定ファイルを作成

 設定ファイルの有無を確認

 httpdの設定ファイルをコピー

 コピーした”/etc/logrotate.d/php”の先頭の
/var/log/httpd/*log {” の記述を
/var/log/php/*log {“に書き換える。

 エラーがないかチェック

設定の反映と確認

 設定の反映

 以下のコマンドで即時にローテートが実施できます。

以上です。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です