apache — Предупреждения и уведомления PHP, отображаемые с включенными display_errors, но не ведущие журнал

Я пытаюсь записать все ошибки, но по какой-то причине я не могу заставить его работать! Если я включаю display_errors в моем .htaccess, то ошибки появляются здесь и там. Но вместо того, чтобы показывать их, я хочу, чтобы они помещались в журнал, который я могу читать, чтобы мои пользователи не видели ошибок.

Я добавил их в мой файл .htaccess:

php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
php_flag log_errors on
php_flag ignore_repeated_errors off
php_flag ignore_repeated_source off
php_flag report_memleaks on
php_flag track_errors on
php_value docref_root 0
php_value docref_ext 0
php_value error_log /path/to/errors.txt
php_value error_reporting 32767
php_value log_errors_max_len 2048

Тем не менее, error.log еще пуст! Я попытался перезагрузить Apache, весь сервер, ничего. Любая помощь будет принята с благодарностью.

Версия PHP — 5.4.39-0 + deb7u2

1

Решение

Скорее всего, это проблема с разрешениями, объясняющая, почему ошибки не регистрируются. Вот фрагмент, который я использую:

ini_set("error_reporting", -1);
ini_set("log_errors", 1);
ini_set("error_log", "/var/www/site/php-error.log");

Я предполагаю, что вы используете дистрибутив Linux, поэтому, когда у вас есть код на вашей странице, с помощью командной строки создайте файл:

touch /var/www/site/php-error.log
chmod 644 /var/www/site/php-error.log

Затем для Ubuntu / Debian сделайте следующее:

chown www-data:www-data /var/www/site/php-error.log

Или для Centos / Red Hat:

chown apache:apache /var/www/site/php-error.log

Вы должны увидеть ошибки, которые регистрируются. Если это не удается, проверьте журнал ошибок, просмотрев его в реальном времени, а затем обновив страницу. Для просмотра журнала в реальном времени сделайте следующее:

Для Ubunut / Debian:

tail -f /var/log/apache2/error

Для Centos / Red Hat

tail -f /var/log/httpd/error
2

Другие решения

Сначала, пожалуйста, проверьте с помощью phpinfo (), что ваши настройки по умолчанию перезаписываются вашим htaccess. Phpinfo покажет вам локальные и основные значения.

4

По вопросам рекламы [email protected]