Maison  >  Article  >  cadre php  >  Comment détecter les erreurs PHP avec Swoole

Comment détecter les erreurs PHP avec Swoole

(*-*)浩
(*-*)浩original
2019-12-16 09:35:121855parcourir

Comment détecter les erreurs PHP avec Swoole

Une fois qu'une erreur fatale se produit lors de l'exécution de swoole_serverServer, la connexion client ne recevra pas de réponse.

Par exemple, un serveur web, s'il y a une erreur fatale, un message d'erreur HTTP 500 doit être envoyé au client. (Apprentissage recommandé : Tutoriel vidéo SWOOLE )

Vous pouvez capturer les erreurs fatales via register_shutdown_function + error_get_last et envoyer des informations d'erreur au client pour se connecter.

Les exemples de codes spécifiques sont les suivants :


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;
    }
}

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn