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中文網其他相關文章!