禁用特定目录的error.log

如何禁用错误报告给Apache的error.log特定的目录(phpmyadmin)?

  • 在httpd.conf中
  • 在.htaccess中

对于错误日志 ,没有内置的方法来实现这一点。 您可以使用日志pipe道通过将日志消息传递给将忽略包含某些指定string的消息的东西来完成此操作。

定义一个pipe道来处理错误日志

ErrorLog "|/usr/local/bin/httpd_errors >>/var/log/apache2/error.log" 

httpd_errors脚本的内容可以很简单

 #!/usr/local/bin/perl $|=1; while (<STDIN>) { $ErrorMessage=$_; if ( $ErrorMssage !~ 'phpmyadmin' ) { print $ErrorMessage; } } 

这等待邮件到达stdin并只打印他们,如果他们不包含stringphpmyadmin

如果你想忽略多个错误消息,那么

 #!/usr/local/bin/perl #unbuffer stdout $|=1; #add the strings to match below separated by | $filter = 'phpmyadmin|setup.php'; while (<STDIN>) { $ErrorMessage=$_; if ( $ErrorMessage !~ m/($filter)/ ) { print $ErrorMessage; } }