删除 error.log 后 Apache2/PHP 不再记录错误

删除 error.log 后 Apache2/PHP 不再记录错误

我从日志目录中删除了 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

答案1

Apache 进程有一个用于其日志文件的打开文件描述符。如果您删除其中一个,则相应的文件描述符将无效,并且 Apache 将停止日志记录。下次,如果您需要清空日志文件而不重新启动 Apache,您可以发出:

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

该文件将被截断,但 Apache 不会停止记录。

答案2

好吧,我觉得自己很愚蠢。我想我需要做的就是重新启动服务并恢复文件。

service apache2 restart

相关内容