laravel 中间件return 'a';就报错,返回return redirect('/'); 就不报错是怎么回事?

新手上路,请多包涵

以下是错误提示

<!--
SymfonyComponentDebugExceptionFatalThrowableError: Argument 1 passed to IlluminateSessionMiddlewareStartSession::addCookieToResponse() must be an instance of SymfonyComponentHttpFoundationResponse, string given, called in D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminateSessionMiddlewareStartSession.php on line 71 in file D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminateSessionMiddlewareStartSession.php on line 169
Stack trace:

    1. SymfonyComponentDebugExceptionFatalThrowableError->() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminateSessionMiddlewareStartSession.php:169
    2. IlluminateSessionMiddlewareStartSession->addCookieToResponse() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminateSessionMiddlewareStartSession.php:71
    3. IlluminateSessionMiddlewareStartSession->handle() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminatePipelinePipeline.php:151
    4. IlluminatePipelinePipeline->IlluminatePipeline{closure}() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminateRoutingPipeline.php:53
    5. IlluminateRoutingPipeline->IlluminateRouting{closure}() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminateCookieMiddlewareAddQueuedCookiesToResponse.php:37
    6. IlluminateCookieMiddlewareAddQueuedCookiesToResponse->handle() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminatePipelinePipeline.php:151
    7. IlluminatePipelinePipeline->IlluminatePipeline{closure}() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminateRoutingPipeline.php:53
    8. IlluminateRoutingPipeline->IlluminateRouting{closure}() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminateCookieMiddlewareEncryptCookies.php:66
    9. IlluminateCookieMiddlewareEncryptCookies->handle() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminatePipelinePipeline.php:151
    1. IlluminatePipelinePipeline->IlluminatePipeline{closure}() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminateRoutingPipeline.php:53
    2. IlluminateRoutingPipeline->IlluminateRouting{closure}() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminatePipelinePipeline.php:104
    3. IlluminatePipelinePipeline->then() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminateRoutingRouter.php:684
    4. IlluminateRoutingRouter->runRouteWithinStack() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminateRoutingRouter.php:659
    5. IlluminateRoutingRouter->runRoute() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminateRoutingRouter.php:625
    6. IlluminateRoutingRouter->dispatchToRoute() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminateRoutingRouter.php:614
    7. IlluminateRoutingRouter->dispatch() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminateFoundationHttpKernel.php:176
    8. IlluminateFoundationHttpKernel->IlluminateFoundationHttp{closure}() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminateRoutingPipeline.php:30
    9. IlluminateRoutingPipeline->IlluminateRouting{closure}() D:phpStudyPHPTutorialWWWqimilivendorfideloperproxysrcTrustProxies.php:57
    10. FideloperProxyTrustProxies->handle() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminatePipelinePipeline.php:151
    11. IlluminatePipelinePipeline->IlluminatePipeline{closure}() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminateRoutingPipeline.php:53
    12. IlluminateRoutingPipeline->IlluminateRouting{closure}() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminateFoundationHttpMiddlewareTransformsRequest.php:31
    13. IlluminateFoundationHttpMiddlewareTransformsRequest->handle() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminatePipelinePipeline.php:151
    14. IlluminatePipelinePipeline->IlluminatePipeline{closure}() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminateRoutingPipeline.php:53
    15. IlluminateRoutingPipeline->IlluminateRouting{closure}() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminateFoundationHttpMiddlewareTransformsRequest.php:31
    16. IlluminateFoundationHttpMiddlewareTransformsRequest->handle() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminatePipelinePipeline.php:151
    17. IlluminatePipelinePipeline->IlluminatePipeline{closure}() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminateRoutingPipeline.php:53
    18. IlluminateRoutingPipeline->IlluminateRouting{closure}() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminateFoundationHttpMiddlewareValidatePostSize.php:27
    19. IlluminateFoundationHttpMiddlewareValidatePostSize->handle() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminatePipelinePipeline.php:151
    20. IlluminatePipelinePipeline->IlluminatePipeline{closure}() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminateRoutingPipeline.php:53
    21. IlluminateRoutingPipeline->IlluminateRouting{closure}() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminateFoundationHttpMiddlewareCheckForMaintenanceMode.php:62
    22. IlluminateFoundationHttpMiddlewareCheckForMaintenanceMode->handle() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminatePipelinePipeline.php:151
    23. IlluminatePipelinePipeline->IlluminatePipeline{closure}() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminateRoutingPipeline.php:53
    24. IlluminateRoutingPipeline->IlluminateRouting{closure}() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminatePipelinePipeline.php:104
    25. IlluminatePipelinePipeline->then() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminateFoundationHttpKernel.php:151
    26. IlluminateFoundationHttpKernel->sendRequestThroughRouter() D:phpStudyPHPTutorialWWWqimilivendorlaravelframeworksrcIlluminateFoundationHttpKernel.php:116
    27. IlluminateFoundationHttpKernel->handle() D:phpStudyPHPTutorialWWWqimilipublicindex.php:55

    -->

    以下是中间件出错的代码
    public function handle($request, Closure $next)

    {
        $userInfo = session('userInfo');
        if(empty($userInfo)){
            return redirect('/');
        }
        Log::info($userInfo->api_token);
        $api_token = $request->header('apiToken');
        Log::info($api_token);
        if($userInfo->api_token !== $api_token){
            return 'a';
        }
        return $next($request);

    }

    阅读 2.4k
    1 个回答

    是要返回Response对象吧,用return respose('a');应该可以

    撰写回答
    你尚未登录,登录后可以
    • 和开发者交流问题的细节
    • 关注并接收问题和回答的更新提醒
    • 参与内容的编辑和改进,让解决方法与时俱进