未根据 Laravel 5.3 中的请求设置会话存储
Session store not set on request in Laravel 5.3
我的网站出现这样的错误:
我也尝试了一些解决方案,比如在中间件网络中包装路由,但它没有用
这是我的Kernel.php
<?php
namespace App\Http;
use App\Http\Middleware\Activated;
use Illuminate\Foundation\Http\Kernel as HttpKernel;
class Kernel extends HttpKernel
{
protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
];
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
\anlutro\LaravelSettings\SaveMiddleware::class,
\Barryvdh\Cors\HandleCors::class,
Activated::class
],
'api' => [
'throttle:60,1',
'bindings',
],
];
(The rest of file)
}
我该如何解决:((
如果您需要会话状态、CSRF 保护等,则需要使用网络中间件。
Route::group(['middleware' => ['web']], function () {
// your routes here
});
你的 kernel.php 应该是这样的
protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
\Illuminate\Session\Middleware\StartSession::class,
];
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
\anlutro\LaravelSettings\SaveMiddleware::class,
\Barryvdh\Cors\HandleCors::class,
Activated::class
],
您好,您需要创建一个中间件
php artisan make:middleware AnyNameYouWant
它将为您创建一个漂亮的样板文件。
public function handle($request, Closure $next)
{
// Your Logic
}
return redirect('whereever you want to redirect');
}
然后将其包含在您的中间件中
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
\anlutro\LaravelSettings\SaveMiddleware::class,
\Barryvdh\Cors\HandleCors::class,
\App\Http\Middleware\YourMiddleware::class
],
希望对您有所帮助
如果在 web 中间件 中添加 路由 由于任何原因不起作用,请尝试将其添加到 $middleware 到 Kernel.php
protected $middleware = [
//...
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
];
我的网站出现这样的错误:
我也尝试了一些解决方案,比如在中间件网络中包装路由,但它没有用
这是我的Kernel.php
<?php
namespace App\Http;
use App\Http\Middleware\Activated;
use Illuminate\Foundation\Http\Kernel as HttpKernel;
class Kernel extends HttpKernel
{
protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
];
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
\anlutro\LaravelSettings\SaveMiddleware::class,
\Barryvdh\Cors\HandleCors::class,
Activated::class
],
'api' => [
'throttle:60,1',
'bindings',
],
];
(The rest of file)
}
我该如何解决:((
如果您需要会话状态、CSRF 保护等,则需要使用网络中间件。
Route::group(['middleware' => ['web']], function () {
// your routes here
});
你的 kernel.php 应该是这样的
protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
\Illuminate\Session\Middleware\StartSession::class,
];
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
\anlutro\LaravelSettings\SaveMiddleware::class,
\Barryvdh\Cors\HandleCors::class,
Activated::class
],
您好,您需要创建一个中间件
php artisan make:middleware AnyNameYouWant
它将为您创建一个漂亮的样板文件。
public function handle($request, Closure $next)
{
// Your Logic
}
return redirect('whereever you want to redirect');
}
然后将其包含在您的中间件中
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
\anlutro\LaravelSettings\SaveMiddleware::class,
\Barryvdh\Cors\HandleCors::class,
\App\Http\Middleware\YourMiddleware::class
],
希望对您有所帮助
如果在 web 中间件 中添加 路由 由于任何原因不起作用,请尝试将其添加到 $middleware 到 Kernel.php
protected $middleware = [
//...
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
];