首页 > 解决方案 > 5.5 中未执行的中间件终止函数

问题描述

我有一个用于在数据库中记录请求的中间件。日志最初是在请求进入handle()方法时创建的。我现在正在尝试添加一种terminate()将响应状态添加到日志的方法。但是,该terminate()方法似乎没有被调用。

我在routeMiddlewarein 中注册了它Kernel.php(句柄函数运行正常)。它也被应用于一组路由,句柄函数正确执行。似乎终止功能不会执行。

这是终止函数:

public function terminate($request, $response)
{
    $log = Audit::find(Request::get('AUDIT-LOG-ID'));

    $log->status = $response->status();

    $log->save();
}

任何帮助将不胜感激!

编辑:

我故意在terminate函数中添加了会导致服务器错误的错误。但是它们从未被执行并且请求正常通过,我相信这证实了我的预感,即该terminate功能没有被执行。

标签: phplaravelmiddleware

解决方案


推荐阅读