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


change php error output to custom message with link

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

下面是我想添加错误信息的代码:

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

使用函数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
}

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

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

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