2013-09-06 8 views
0

На веб-сервере Ubuntu [LAMP] я пытаюсь получить ошибки PHP для записи в файл php_error, но независимо от того, что Я делаю, они продолжают идти в журнал apache.Не удается заставить PHP-ошибки перейти в файл журнала (кроме журнала Apache)

Вот что я попытался/сделали:

  1. редактировали файл php.ini:

    • error_reporting = E_ALL | E_STRICT
    • display_error = Off
    • log_errors = О
    • error_log = /var/log/php_errors.log
  2. перезапущен Apache

  3. Проверил phpinfo() выход проверить, что изменения I сделанные в файл php.ini, - они это сделали.

  4. После проверки того, что ошибки все еще идут в журнал Apache, я физически создал php_errors.log и попробовал еще раз. Все еще идет в журнал Apache!

  5. Перезагружен веб-сервер! Все еще...!

У кого-нибудь есть решение?

+0

check_log_errors_max_len' больше 0 – DevlshOne

+0

И имеет ли веб-сервер разрешение на создание '/ var/log/php_errors.log'? Возможно, вам придется разместить это место в месте, где Apache может писать, например, '/ var/log/httpd/php_errors.log' или'/var/log/apache2/php_errors.log' –

ответ

2

Это было связано с правом собственности. Один или другой работал [по причинам, которые не ясны мне]:

chown www-data:www-data /var/log/php_error.log 

chown same-user-as-www-home:same-user-as-web-home /var/log/php_error.log 

Кроме того, следующий сделал разницу:

chmod 664 /var/log/php_error.log 

[в отличие от CHMOD 644 ... снова по причинам, которые не ясны мне]

+0

Итак, ответ выше был правильным ... – trueinViso

2

Проверьте права доступа к каталогу /var/log. Убедитесь, что пользователь веб-службы запущен, так как имеет права на запись в эту папку. С другой стороны, создать вложенную папку (/ вар/Журнал/phplogs?) И назначить явные разрешения на том, что для рассматриваемого пользователя, то измените значение error_log быть файл в , что папка