PHP,如何在特定位置放置错误

时间:2012-03-10 02:24:26

标签: php

您知道PHP错误总是出现在页面的最顶层。有没有办法抑制它并将其转换为$ var?然后你可以把它放在页面的某个地方。

2 个答案:

答案 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;
}