如何包括GET& PHP错误日志中的POST数据

时间:2011-08-04 19:22:10

标签: php

是否有办法让PHP日志错误发送到文件或向我发送电子邮件错误INCLUDING $_POST[]& $_GET[]$_SERVER[]数据?

现在我得到了PHP FATALWARNING错误以及404 NOT_FOUND错误的日志,但是在不知道用户输入和引荐来源之类的情况下调试一些错误很难。

由于

4 个答案:

答案 0 :(得分:16)

error_log(print_r($_POST, true));
error_log(print_r($_GET, true));

将它放入custom error handler并且它会为你记录('true'参数使print_r返回文本而不是输出它。)

您可能需要使用log_errors_max_len在错误日志中增加最大行长度,因为它默认为1024个字符,并且会在此之后截断所有内容(它不会在多行中拆分> 1024个字符数据)

答案 1 :(得分:1)

如果您使用的是PHP 5,请创建一个自定义异常类,它将extend the native PHP Exception class并添加您喜欢的任何数据收集/记录方法。这样,您可以轻松地将try {} catch() {}块与异常相结合,并拥有自己的方式来控制记录所有数据的方式。

答案 2 :(得分:0)

我建议使用error_log()函数。我用它来调试php中的东西。 http://php.net/manual/en/function.error-log.php

答案 3 :(得分:-2)

我参与了一个使用CI处理基于Felx的前端的电信项目,我们劫持了所有可能的错误报告,并在syslog函数上编写了一个包装器并在我们的应用程序中使用它,结果是我们可以记录我们想要的任何数据通过系统日志查看器可以看到日志: - )