2014-09-02 113 views
2

PHP错误日志通常是这个样子:如何在PHP中禁用“referer”到error_log的悬停?

[Tue Sep 02 15:46:13 2014] [error] [client 192.168.0.105] blah, blah, ... , referer: https://192.168.0.21/blah/blah 
[Tue Sep 02 15:46:13 2014] [error] [client 192.168.0.105] blah, blee, ... , referer: https://192.168.0.21/blah/blee 

我怎样才能让他们这个样子?

[Tue Sep 02 15:46:13 2014] [error] [client 192.168.0.105] blah, blah, ... 
[Tue Sep 02 15:46:13 2014] [error] [client 192.168.0.105] blah, blee, ... 

我试过$_SERVER['HTTP_REFERER']='';但它(不奇怪)没有帮助。

+0

在某些情况下,我们会在日志中生成一组广泛的诊断信息,并且每行不需要知道引用者。 – 2014-09-02 20:58:11

+0

似乎更多的工作删除比忽略 - 烨我没有任何帮助;) – 2014-09-02 21:06:53

+0

这是一个Apache日志,对不对? – 2018-03-02 04:51:45

回答

3

(回答一个老问题了,我知道,但我不得不最近这出我自己,所以也许这将帮助别人......)

这可以通过设置来实现'ErrorLogFormat' directive,无论是在您的服务器配置或虚拟主机.conf文件。就像这样:

ErrorLogFormat "[%t] [%l] [pid %P] %F: %E: [client %a] %M" 

或许查找默认在您的服务器配置和修改 - 你只需要摆脱%{Referer}i,这是增加了引荐网址。

+0

我的问题不是如何永久禁用引用者(我知道如何做到这一点),而是有条件地从PHP中删除它,而不是从.conf中删除它。 – 2015-04-21 23:12:36

+0

呵呵,对不起,我想我没有得到你究竟在询问什么。你是否需要从PHP内部执行此操作(例如,因为您无法访问.conf)?或者你只需​​要没有引用者的PHP错误日志,而其他人有它? – corvidism 2015-04-22 12:43:41

+0

我想从PHP内部控制引用程序是否附加到日志中,并基于消息。 – 2015-04-24 00:25:00