【发布时间】:2017-11-19 06:50:49
【问题描述】:
我正在尝试获取一个简单的会话来存储一个值,但无法保存它。 我查看了有关此的类似帖子,并尝试了他们的建议,但没有任何运气。这是我所做的:
在中间件组中使用“web”
Route::group(['middlewareGroups' => ['web']], function() {
...
在中间件中使用“web”,也可以手动使用
Route::group(['middleware' => ['web']], function() {
...
和
$this->middleware('web');
使用Session::put、session() 全局和$request->session() 甚至$_SESSION
Found this article 并尝试了答案,但仍然没有。我正在使用文件来存储我的会话
在我的 Kernel.php 中添加了以下内容
protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
\Barryvdh\Cors\HandleCors::class,
\Illuminate\Session\Middleware\StartSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::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
],
'api' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Session\Middleware\StartSession::class,
'throttle:60,1',
'bindings',
],
];
但什么都没有!也许你们可以阐明一些?非常感谢。
【问题讨论】:
-
文件存放在哪里,文件夹的访问规则是什么? Web 服务器需要写入权限才能将会话文件存储在那里
-
你为什么要开始两次会话?
-
我认为您的问题是在全球和网络组中都有 StartSession。尝试从 $middleware 中删除除 CheckForMaintenanceMode 之外的所有内容。
-
恐怕不行,删除那些会导致错误:Session store not set on request
标签: php laravel session laravel-5