PHP,如何在特定的地方发生错误
答
是的,你可以set your own error handler拦截并做这些错误,除了简单地输出他们无论发生在哪里。但我不认为在页面上优雅地显示PHP错误是非常有用的。 PHP错误并不意味着很漂亮,它们根本不是为了发生。如果你看到一个,它应该尽可能地震撼,你应该尽快修复它。它们意味着在开发过程中提供帮助。试图让它们变得漂亮起来就是把时间花在代码的错误部分上。
在生产中,这些错误应记录到日志文件中,而不是在页面上可见的输出。
答
$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;
}
+2
php.ini中的'log_errors = on'和'display_errors = off'非常清晰。 – ThiefMaster 2012-03-10 02:38:50
理想情况下,你会使其产生错误或警告编写代码。这不仅是可能的,但强烈建议作为良好的做法。 – 2012-03-10 02:28:09