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; } }
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com