2011-03-03 68 views
0

我一直在使用PHP多年,从来没有真正考虑过这一点。显然有自定义格式显示apache日志,但有什么可以通过php.ini php的error_log完成?是否可以在php error_log中记录IP地址?

我想记录原始错误的IP地址,而不必修改我的网站上每一个功能,包括error_log($_REQUEST['REMOTE_ADDR'].' error etc');

有没有人见过这样的事?

+0

您可以像使用'error_log()'函数一样手动插入IP,但PHP中没有任何选项可使内部生成的错误与IP一起记录。并非所有的脚本都在网络服务器下运行,所以IP地址将不可用。 – 2011-03-03 17:59:53

+3

如何执行日志记录的自定义错误处理程序? – 2011-03-03 18:02:46

+0

Pekka是正确的,使用您的自定义错误处理程序,您可以做任何你想做的事情:记录REMOTE_ADDR,HTTP_USER_AGENT,REQUEST_URI,HTTP_REFERER,HTTP_X_FORWARDER_FOR等,将这些错误发送到您的电子邮件,重定向用户和其他人。 – criticus 2011-03-03 18:08:57

回答

0

Apache应该记录这个给你。

这里是从错误日志中的我的PHP网站一个例子:

[Thu Mar 03 06:32:29 2011] [error] [client 188.226.15.54] PHP Notice: Undefined variable: profileRow in /public/html/mysite/profile.php on line 22 

在我的httpd.conf文件中,我有以下的网站

ErrorLog /var/log/apache2/mysite.com.error.log 

假设你定义有正确的错误级别设置为PHP,你应该在这里看到你的错误。

+0

我打开了Apache的日志,但它只是记录Apache错误,而不是PHP错误。我正在查看php错误日志文件,并且出现了很多错误,这些错误并未显示在apache ErrorLog中 – Cary 2011-03-04 15:51:55

相关问题