Php 使用Lumen中的中间件设置响应头

Php 使用Lumen中的中间件设置响应头,php,http-headers,lumen,Php,Http Headers,Lumen,我正试图通过在Lumen micro框架中使用AfterMiddleware来设置一个由X驱动的头部。不幸的是,没有设置标题。假设下面显示的中间件甚至没有被处理 AfterMiddleware.php 我发现:在我的例子中,中间件不会处理异常404。我的临时解决方案是直接在异常处理程序中将头添加到响应中 if ($e instanceof \Symfony\Component\HttpKernel\Exception\NotFoundHttpException) { return res

我正试图通过在Lumen micro框架中使用AfterMiddleware来设置一个由X驱动的头部。不幸的是,没有设置标题。假设下面显示的中间件甚至没有被处理

AfterMiddleware.php


我发现:在我的例子中,中间件不会处理异常404。我的临时解决方案是直接在异常处理程序中将头添加到响应中

if ($e instanceof \Symfony\Component\HttpKernel\Exception\NotFoundHttpException) {
    return response(view('not-found'), 404)->header('X-Powered-By', env('APP_NAME')."/".env('APP_VER'));
}

不幸的是,标题被复制,即使$replace默认为true。这将带来一个新问题。

对我来说很好。