Регистрация ошибок PHP не работает через .htaccess

Мне нужно, чтобы все ошибки PHP записывались в файл в моем поле centOS. Я думаю, что я делаю все, что должен. Вот мой файл .htaccess:

php_flag display_errors off
php_flag log_errors On
php_flag error_log /var/www/vhosts/hostname/logs/fo_errors.log
  • В моем php.ini у меня установлен error_reporting = E_ALL.
  • Apache выполняет синтаксический анализ .htaccess
  • /var/www/vhosts/hostname/logs/fo_errors.log имеет владельца в apache:apache и имеет права на запись.

У меня нет идей.. может кто-нибудь помочь?

Спасибо

Ответы

Ответ 1

Вероятно, вы захотите использовать php_value not php_flag при настройке пути к журналу. php_flag используется только для установки свойств конфигурации boolean.

php_flag display_errors off 
php_flag log_errors On 
php_value error_log /var/www/vhosts/hostname/logs/fo_errors.log 

Ответ 2

Попробуйте добавить следующую тестовую страницу в свой веб-корень:

<?php
// debug.php
echo "<pre>";
echo "log_errors = [", ini_get('log_errors'), "]\n";
echo "error_log = [", ini_get('error_log'), "]\n";
echo "writeable? ", is_writable(ini_get('error_log')) ? 'Yes' : 'No', "\n";
echo "</pre>";
error_log("Test from error_log()");
user_error("Test error from user_error()");

Перейдите к /debug.php, и вы увидите следующий вывод:

log_errors = [1]
error_log = [/var/www/vhosts//logs/fo_errors.log]
Writeable? Yes

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