2

Я удалил файл 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

2 ответа2

4

У процесса Apache есть открытый файловый дескриптор для его файлов журнала. Если вы удалите один из них, соответствующий файловый дескриптор станет недействительным, и Apache прекратит регистрацию. В следующий раз, если вам нужно очистить файл журнала без перезапуска Apache, вы можете выполнить:

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

Файл будет усечен, но Apache не остановит запись в журнал.

1

Ну, я чувствую себя глупо. Я думаю, все, что мне было нужно, это перезапустить службу с восстановленным файлом.

service apache2 restart

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .