web-dev-qa-db-ja.com

Apache2 / PHPは、error.logを削除した後にエラーをログに記録しなくなりました

ログディレクトリからerror.logファイルを削除しました。

rootとして、viを使用してerror.logファイルを再度作成しました。 _root:root_がファイルを所有し、権限は_-rw-r--r--_です。 access.logと同じ所有権と権限。

現在、エラーは記録されていません。 Access.logはまだ追加されていますが、error.logは追加されていません。

何か案は?

通知、警告、エラーをログに記録するように構成されたPHP。 error_log()を使用してエラーメッセージもトリガーしていますが、うまくいきません。 だったログファイルを削除するまで作業を進めていました。

PHP 5.3.10 Apache 2.2.22 Ubuntu 3.11

3
Patrick Moore

Apacheプロセスには、ログファイル用のオープンファイル記述子があります。それらの1つを削除すると、対応するファイル記述子が無効になり、Apacheはロギングを停止します。次回、Apacheを再起動せずにログファイルを空にする必要がある場合は、以下を発行できます。

# echo > /var/log/Apache/access.log

ファイルは切り捨てられますが、Apacheはロギングを停止しません。

5
drk.com.ar

まあ、私は愚かだと感じます。必要なのは、ファイルを復元してサービスを再起動することだけだったと思います。

service Apache2 restart

2
Patrick Moore