首頁 >php框架 >Swoole >swoole 致命錯誤是什麼意思

swoole 致命錯誤是什麼意思

藏色散人
藏色散人原創
2020-04-09 10:41:323241瀏覽

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 致命錯誤是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn