Метод error_log PHP не записывает ошибки в файл журнала пользовательских ошибок. Он будет записывать только в /var/log/apache 2/php_error.log
Вот настройки регистрации в моем php.ini
:
error_reporting = E_ALL & ~E_DEPRECATED & ~E_NOTICE
display_errors = Off
log_errors = On
log_errors_max_len = 0 ; also tried with 9999999
error_log = /var/log/apache2/php_errors.log
PHP записывает свои ошибки в обычный журнал ошибок Apache (/var/log/apache2/error.log
), а не тот, который указан выше.
Вещи, которые я уже пробовал:
- Я остановил и перезапустил apache после изменения файла php.ini
- Файл
/var/log/apache2/php_errors.log
- это 777 разрешений и файл существует. - Других перегружающих файлов php.ini нет. (Есть/etc/php5/cli/php.ini, но я не использую cli).
- Других настроек error_log = xxx еще нет в файле php.ini, которые могут отменить первый
- phpinfo() говорит error_log =/var/log/apache2/php_errors.log(т.е. правильный файл), как под локальным значением, так и с основным значением
- Тест script Я использую для генерации ошибок, не содержит никаких вызовов ini_set
(FYI: Я использую Apache/2.2.17 и PHP/5.3.5-1ubuntu7.2 на Ubuntu 11.04)
Что я делаю неправильно?