ホームページ >PHPフレームワーク >Swoole >swooleでphpエラーをキャッチする方法

swooleでphpエラーをキャッチする方法

(*-*)浩
(*-*)浩オリジナル
2019-12-16 09:35:121890ブラウズ

swooleでphpエラーをキャッチする方法

swoole_serverServer の実行中に致命的なエラーが発生すると、クライアント接続は応答しなくなります。

たとえば、Web サーバーで致命的なエラーが発生した場合、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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。