Как включить все ошибки и предупреждения и записывать их в файл, но настроить все это внутри скрипта (ничего не меняя в php. ini). Я хочу определить имя файла, чтобы все ошибки и предупреждения регистрировались в нем.
См.
error_log
- Отправить где-нибудь сообщение об ошибке Пример
error_log("You messed up!", 3, "/var/tmp/my-errors.log");
Вы можете настроить обработку ошибок с помощью ваших собственных обработчиков ошибок для вызова этой функции всякий раз, когда возникает ошибка или происходит предупреждение или что-то еще, что вам нужно зарегистрировать. Для получения дополнительной информации, пожалуйста, обратитесь к главе Обработка ошибок в Руководстве по PHP
Используйте следующий код:
ini_set("log_errors", 1);
ini_set("error_log", "/tmp/php-error.log");
error_log( "Hello, errors!" );
Затем просмотрите файл:
tail -f /tmp/php-error.log
Или обновите php.ini
, как описано в этой записи блога из 2008.
Обратите внимание на параметр конфигурации log_errors
в php.ini. Кажется, он делает именно то, что вы хотите. Я думаю, вы также можете использовать параметр error_log
, чтобы установить свой собственный файл журнала.
Если для директивы log_errors
задано значение на
, любые ошибки, сообщаемые PHP, будут регистрироваться в журнале сервера или в файле, указанном в error_log
. Вы также можете установить эти параметры с помощью ini_set
, если вам нужно.
(Обратите внимание, что display_errors
следует отключить в php.ini, если эта опция включена)