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é :
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!