将php错误输出更改为带链接的自定义消息

时间:2011-09-01 13:12:14

标签: php html error-handling

如何更改php错误的错误输出?例如,如果它的语法错误或服务器端超时,我想回显允许用户刷新页面的消息。

下面是我要将错误消息添加到的代码:

$XML->registerXPathNamespace('tree','www.tree.com'); <--occasionally errors here, so I want to output my own error message.

2 个答案:

答案 0 :(得分:7)

使用函数set_error_handler定义出现错误时要调用的自定义函数。然后,您可以决定在该函数中执行任何您想要的错误。

如果您只想在特定的时间内使用它,则可以使用restore_error_handler将其恢复。

set_error_handler('yourHandler');
...
$XML->registerXPathNamespace('tree','www.tree.com');
...
restore_error_handler();

function yourHandler(int $errno , string $errstr) {
    //show link to refresh page, whatever. full signature can be found on PHP manual page
}

答案 1 :(得分:-1)

好吧,快速检查registerXPathNamespace的php手册会显示它返回TUREFALSE。这对我的解决方案来说是完美的。

if (!@$XML->registerXPathNamespace('tree','www.tree.com')) {
    echo '<b>ERROR:</b> Could not register xml path. Please reload the page!';
}

不是这样,如果返回FALSE,则会显示该消息。 $ XML前面的@将禁用该操作可能导致的原始错误。