Laravel 5.2 - 会话不会在路由更改中持续存在

ste*_*dev 6 php laravel laravel-5.2

我刚刚安装了Laravel 5.2.我进入我的项目几个小时,我注意到会话不会在路线上持续存在.在表单上使用验证服务时,我首先注意到了这一点.该$error变量是在验证失败空.

我创建了两个简单的路线来重现这个问题.代码如下.Fooroute加载会话但Bar路由不加载.

  • Laravel.log 是空的.
  • sudo chmod -R 777 在存储上设置
  • 我已经尝试过数据库驱动程序和文件驱动程序.同样的结果.
  • 我已经更新了数据库以包含会话表更改(用户ID等)
  • php artisan cache:clear
  • php artisan config:clear
  • 使用文件驱动程序时,我看到存储的会话文件 storage/framework/sessions
  • 我有一个app/Http/Kernel.php从5.2存储库中获取的新副本

routes.php文件

Route::group(['middleware' => ['web']], function () {


    Route::get('foo','AuthController@foo');
    Route::get('bar','AuthController@bar');


});
Run Code Online (Sandbox Code Playgroud)

AuthController.php

namespace Zocial\Http\Controllers;

class AuthController extends Controller
{

 public function foo()
 {
  \Session::put('user','testing');

  //session( ['user' => 'testing'] ); not working either
  return \Session::get('user');
 }

 public function bar()
 {
  return "Session here: " . \Session::get('user');
 }

}
Run Code Online (Sandbox Code Playgroud)

配置/ session.php文件

return [

    'driver' => env('SESSION_DRIVER', 'database'),
    'lifetime' => 120,
    'expire_on_close' => false,
    'encrypt' => true,
    'files' => storage_path('framework/sessions'),
    'connection' => env('DB_CONNECTION','mysql'),
    'table' => 'sessions',
    'lottery' => [2, 100],
    'cookie' => 'laravel_session',
    'path' => '/',
    'domain' => env('APP_DOMAIN', null),
    'secure' => false,

];
Run Code Online (Sandbox Code Playgroud)

ssu*_*hat 0

你能试试这个吗?

public function foo(Request $request)
{
    $value = $request->session()->put('key', 'value');

}

public function bar(Request $request)
{
    $value = $request->session()->get('key');
    return $value;
}
Run Code Online (Sandbox Code Playgroud)