您知道PHP错误总是出现在页面的最顶层。有没有办法抑制它并将其转换为$ var?然后你可以把它放在页面的某个地方。
答案 0 :(得分:4)
是的,您可以set your own error handler拦截并对这些错误采取措施,只需将它们输出到任何地方即可。但我不认为在页面上优雅地显示PHP错误非常有用。 PHP错误并不意味着漂亮,它们根本就不会发生。如果你看到一个,它应该尽可能地刺耳,你应该尽快修复它。它们意味着在开发过程中提供帮助。试图让它们变得漂亮是花时间在代码的错误部分。
在生产中,这些错误应该记录到日志文件中,而不是在页面上明显输出。
答案 1 :(得分:0)
$php_errormsg
保留先前的错误,即使是被抑制的错误。
@fopen('foo.txt', 'w');
echo $php_errormsg; // You can put this anywhere you want the error to display
如果您认为有多个错误,则可以将这些错误存储在数组中。
$errors = array();
for($files as $f) {
@fopen($f, 'w');
$errors[] = $php_errormsg;
}
然后你可以打印出所有的错误:
print_r($errors);
//or
for($errors as $e) {
echo $e;
}