swoole_serverServer 실행 중 치명적인 오류가 발생하면 클라이언트 연결에 응답하지 않습니다.
예를 들어 웹 서버에 치명적인 오류가 발생하면 HTTP 500 오류 메시지가 클라이언트에 전송되어야 합니다. > (추천 학습: swoole 비디오 튜토리얼 )
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 오류를 잡는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!