swoole Quelle est l'erreur fatale ?
Capturez les erreurs fatales pendant l'exécution du serveur
Une fois qu'une erreur fatale se produit pendant l'exécution du serveur, la connexion client ne recevra pas de réponse. Par exemple, un serveur Web doit envoyer un message d'erreur HTTP 500 au client en cas d'erreur fatale.
En PHP, vous pouvez capturer les erreurs fatales via les fonctions register_shutdown_function + error_get_last 2 et envoyer les informations d'erreur à la connexion client. L'exemple de code spécifique est le suivant :
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!