Изменение того, где PHP регистрирует синтаксические ошибки - PullRequest
1 голос
/ 10 октября 2011

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

Я могу сделать это:

error_reporting(E_ALL);
ini_set('display_errors','On');
ini_set('error_log','path/to/mylogfile.log');

И это работает для некоторых ошибок, но для фактических синтаксических ошибок, журналы все еще отправляются в master / var / log / httpd / error_log.Как сделать так, чтобы синтаксические ошибки отправлялись в мой пользовательский файл журнала?

Ответы [ 2 ]

3 голосов
/ 10 октября 2011

Поскольку файл не может быть правильно проанализирован, функция ini_set также не выполняется, и новый журнал ошибок не устанавливается.Вам нужно установить php_value error_log /path/to/myfile.log в файле .htaccess или в конфигурации глобального сервера (я предполагаю, что вы используете Apache).

1 голос
/ 10 октября 2011

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

Альтернативы будут:

  • Изменить журнал ошибок на уровне веб-сервера
  • Включить вывод сообщений об ошибках в браузер

Я бы предложил последнее.

...