Php Laravel 5.1-设置X帧选项会导致错误

Php Laravel 5.1-设置X帧选项会导致错误,php,laravel,laravel-5,middleware,Php,Laravel,Laravel 5,Middleware,我在app/HTTP/Kernal.php中将以下中间件添加到HTTP内核堆栈中,它将X-Frame-Options:SAMEORIGIN添加到头中 <?php namespace App\Http\Middleware; use Closure; class FrameGuard { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request

我在app/HTTP/Kernal.php中将以下中间件添加到HTTP内核堆栈中,它将X-Frame-Options:SAMEORIGIN添加到头中

<?php

namespace App\Http\Middleware;

use Closure;

class FrameGuard
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $request->headers->set('X-Frame-Options', 'SAMEORIGIN');

        return $next($request);
    }
}

这是app/Http/Kernel.php中的中间件堆栈

protected $middleware = [
    CheckForMaintenanceMode::class,
    Middleware\EncryptCookies::class,
    AddQueuedCookiesToResponse::class,
    StartSession::class,
    ShareErrorsFromSession::class,
    Middleware\AccessControlAllowOrigin::class,
    FrameGuard::class,
];
删除
FrameGuard::class
时,一切正常,但是添加
FrameGuard::class
时,会导致上述错误。此外,当我在堆栈中保留
FrameGuard::class
并注释掉
$request->headers->set('X-Frame-Options','SAMEORIGIN')
FrameGuard
中间件类中,我得到了相同的错误


是否有其他人遇到过类似的情况,或者我是否打算以错误的方式添加此标题?

这很奇怪,但是,我想知道为什么您没有在它上设置名称间隔
\App\Http\Middleware\FrameGuard::class
?@revo没有必要命名
FrameGuard::class
,因为
Kernel.php
已经在
\App\Http\Middleware
名称空间内。
Kernel.php
名称空间是
App\Http
而不是默认情况下,MySqlGrammar错误与Http响应头有什么关系?你能显示更多的堆栈跟踪吗?
protected $middleware = [
    CheckForMaintenanceMode::class,
    Middleware\EncryptCookies::class,
    AddQueuedCookiesToResponse::class,
    StartSession::class,
    ShareErrorsFromSession::class,
    Middleware\AccessControlAllowOrigin::class,
    FrameGuard::class,
];