#php #error-handling #syntax-error
#php #обработка ошибок #синтаксическая ошибка
Вопрос:
Как бы мне изменить, где PHP регистрирует синтаксические ошибки? У меня есть несколько человек, работающих на одном сервере, и я хочу иметь возможность отправлять свои собственные журналы в пользовательский файл, чтобы я не просматривал ошибки всех остальных.
Я могу это сделать:
error_reporting(E_ALL);
ini_set('display_errors','On');
ini_set('error_log','path/to/mylogfile.log');
И это работает для некоторых ошибок, но для фактических синтаксических ошибок журналы по-прежнему отправляются в master /var/log/httpd/error_log . Как мне сделать так, чтобы синтаксические ошибки отправлялись в мой пользовательский файл журнала?
Ответ №1:
Поскольку файл не может быть правильно проанализирован, ini_set
функция также не выполняется, и новый журнал ошибок не установлен. Вам нужно установить php_value error_log /path/to/myfile.log
в .htaccess
файле или глобальной конфигурации сервера (я предполагаю, что вы используете Apache).
Ответ №2:
Учитывая, что синтаксические ошибки препятствуют запуску PHP, вы не сможете установить пути к журналам через PHP. Это ситуация с курицей перед яйцом.
Альтернативами могут быть:
- Измените журнал ошибок на уровне веб-сервера
- Включить вывод сообщений об ошибках в браузер
Я бы предложил последнее.