>PHP 프레임워크 >Swoole >Swoole로 PHP 오류를 잡는 방법

Swoole로 PHP 오류를 잡는 방법

(*-*)浩
(*-*)浩원래의
2019-12-16 09:35:121890검색

Swoole로 PHP 오류를 잡는 방법

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.