将php错误输出更改为链接自定义消息
问题描述:
如何更改php错误的错误输出?例如,如果它的语法错误或服务器端超时,我想回显一条允许用户刷新页面的消息。将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表明,它返回TURE
或FALSE
。这对我的解决方案是完美的。
if ([email protected]$XML->registerXPathNamespace('tree','www.tree.com')) {
echo '<b>ERROR:</b> Could not register xml path. Please reload the page!';
}
不是这样,如果它返回FALSE,那么将显示消息。而$ XML前面的@
将禁用该操作可能导致的原始错误。
您将无法捕捉到语法/致命错误。 –