PHP 5.3.9 log_errors не работает, не сохраняет ошибки в файле журнала в Debian Lenny - PullRequest
3 голосов
/ 26 января 2012

Я хотел отключить display_errors в моей производственной среде в моем php ini-файле и вместо этого сохранить ошибки в лог-файл. После нескольких часов безуспешных попыток я решил попросить совета.

Что я сделал:

в загруженном INI-файле согласно php-информации:

display_errors = Off
log_errors = On
error_log = /var/log/apache2/php.errors
error_reporting=E_ALL

(file exists, is writable and chown to apache user www-data)

перезапустил apache

Создана фатальная ошибка, функция не определена.

проверил файл журнала, но ничего не сохранилось, файл журнала равен 0kb

В phpinfo () у меня error_reporting = 30711

Есть предложения? Я что-то пропустил?

Спасибо

Ответы [ 3 ]

2 голосов
/ 01 июня 2013

Создать каталог с возможностью записи из Apache. Попробуйте что-то вроде этого

mkdir /var/log/php
chown www-data /var/log/php

в php.ini

error_log = /var/log/php/php_errors.log

Не забудьте повернуть /var/log/php/php_errors.log

1 голос
/ 23 февраля 2012

Я думаю, это потому, что каталог apache2 принадлежит пользователю root и не имеет разрешений на чтение / выполнение для пользователей, отличных от пользователей в группе. Таким образом, несмотря на то, что файл php.errors существует и доступен для записи, поскольку содержащий его каталог недоступен, www-данные не могут в него записать.

0 голосов
/ 26 января 2012

У меня была такая же проблема, журнал будет работать, если вы выберете syslog на php.ini

...