Как включить данные GET & POST в журнал ошибок PHP - PullRequest
8 голосов
/ 04 августа 2011

Есть ли способ, чтобы PHP регистрировать ошибки в файле или отправлять мне сообщения об ошибках INCLUDING $_POST[] & $_GET[] и $_SERVER[] data?

Прямо сейчас я получаю журнал PHP FATALи WARNING ошибок и 404 NOT_FOUND ошибок, но трудно отладить некоторые ошибки, не зная таких вещей, как пользовательский ввод и реферер.

Спасибо

Ответы [ 4 ]

17 голосов
/ 04 августа 2011
error_log(print_r($_POST, true));
error_log(print_r($_GET, true));

Поместите это в пользовательский обработчик ошибок , и он запишет оба для вас (параметр 'true' заставляет print_r возвращать текст вместо его вывода).

Youможет потребоваться увеличить максимальную длину строки в журнале ошибок с помощью log_errors_max_len, так как по умолчанию используется значение 1024 символа и после этого все будет обрезано (при этом не будет разбито> 1024 данных символа на несколько строк).

1 голос
/ 04 августа 2011

Если вы используете PHP 5, создайте собственный класс исключений, который расширит собственный класс исключений PHP и добавит любые методы сбора / регистрации данных, которые вам нравятся.Таким образом, вы можете легко объединить блок try {} catch() {} с Исключениями и по-своему контролировать, как вы хотите регистрировать все данные.

0 голосов
/ 04 августа 2011

Я работал над телекоммуникационным проектом, который использовал CI для обработки внешнего интерфейса на основе Felx, мы перехватили все возможные сообщения об ошибках и написали обертку для функций системного журнала и использовали ее в нашем приложении, в результате мы могли записывать любые данные, которые хотели, и журнал был виден через просмотрщик системного журнала: -)

0 голосов
/ 04 августа 2011

Я бы порекомендовал функцию error_log ().Я часто использую это для отладки вещей в php.http://php.net/manual/en/function.error-log.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...