这篇文章主要介绍了swoole中如何捕获致命错误,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
swoole 致命错误是什么?
捕获Server运行期致命错误
Server运行期一旦发生致命错误,那客户端连接将无法得到回应。如Web服务器,如果有致命错误应当向客户端发送Http 500 错误信息。
在PHP中可以通过register_shutdown_function + error_get_last 2个函数来捕获致命错误,并将错误信息发送给客户端连接。具体代码示例如下:
register_shutdown_function('handleFatal');
function handleFatal()
{
$error = error_get_last();
switch ($error['type'] ?? null) {
case E_ERROR :
case E_PARSE :
case E_CORE_ERROR :
case E_COMPILE_ERROR :
$message = $error['message'] . PHP_EOL;
if (isset($_SERVER['REQUEST_URI'])) {
$message .= '[QUERY] ' . $_SERVER['REQUEST_URI'];
}
// log or send:
// error_log($message);
// $server->send($fd, $message);
break;
}
}
感谢你能够认真阅读完这篇文章,希望小编分享的“swoole中如何捕获致命错误”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。