Rumah  >  Artikel  >  rangka kerja php  >  swoole怎么捕捉php错误

swoole怎么捕捉php错误

(*-*)浩
(*-*)浩asal
2019-12-16 09:35:121857semak imbas

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

Atas ialah kandungan terperinci swoole怎么捕捉php错误. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:swoole进程关闭后怎么重启Artikel seterusnya:swoole怎么处理错误