2017-01-03 164 views
0

我目前正在使用Web门户。这是必要的管理员都能够看到所发生的错误,因为我使用了下面的语句,使错误报告:如何缓冲PHP错误

ini_set('display_errors', 1); 
ini_set('display_startup_errors', 1); 
error_reporting(E_ALL); 
ob_start(); 

在结束我的脚本请检查是否允许用户查看错误。如果是:

echo ob_get_clean(); 

最大的问题是:致命错误仍然是例如仍显示为常规用户。如何缓冲致命错误报告?

回答

0

致命错误将停止执行。以后你不能留下任何东西,因为到那时候执行会停止。

您可以使用error_reporting在运行时更改错误报告级别。检查docs,您将看到如何降低报告级别。

仍然,将更好地抑制生产的所有错误报告,并将其发送到日志文件。

+0

然后至少可以防止在不更改ini之前显示它吗? – HelloToYou

+0

设置错误处理程序并输出所有错误会更好吗? – HelloToYou

+0

最好不要缓冲所有错误,而是直接记录它们。但是,当然,如果你需要为某些非常特定的日志需求这样做,错误处理程序会更好。 – yivi