Php 返回$res->;如果Status(401)在SlimFramework3中似乎不起作用?

Php 返回$res->;如果Status(401)在SlimFramework3中似乎不起作用?,php,slim,slim-3,Php,Slim,Slim 3,所以我已经做了相当多的挖掘工作,似乎只能提供关于SlimFramework2的信息,而关于SlimFramework3的信息就不多了 我的问题是: return $res->withStatus(401)->withHeader('Content-type','application/json')->write(json_encode(array( 'Error'=>'Your session has timed out.',

所以我已经做了相当多的挖掘工作,似乎只能提供关于SlimFramework2的信息,而关于SlimFramework3的信息就不多了

我的问题是:

return $res->withStatus(401)->withHeader('Content-type','application/json')->write(json_encode(array(
            'Error'=>'Your session has timed out.',
            'X-SessionToken' => $session_uuid,
            'Server date/time' => date('c'),
            'Last activity' => Session::sharedInstance()->last_activity(),
            'Path' => $path
        )));
仍然返回200的状态,内容类型仍然设置为text/html,但我的所有身体都在那里。有什么想法吗?我试着查看关于write()的PSR-7文档,看看是否在这之后它会将头和状态设置回默认值,但没有看到任何内容


因此,在进行了更多的查看和调试之后,我发现它没有设置标题,因为它只在以下情况下设置标题!标头_sent(),返回为false。这意味着我在某处有额外的输出。结果是在我的PHP文件的最底部,我所有的代码都在里面,我在结束后还有一行?>。这是一个业余的错误