Laravel会话密钥改变了整个时间?

cod*_*ama 14 session laravel-4

我正在为我的会话使用"文件存储".当我运行这个:

Session::set('awesomekey', 'myVal123');
Run Code Online (Sandbox Code Playgroud)

并刷新页面,我可以看到每次在/ storage/session中创建的新文件.我以为它每次都会更新同一个文件.这基本上意味着会话根本不起作用.换句话说,如果它不断重新创建会话文件,这永远不会起作用:

Session::get('awesomekey');
Run Code Online (Sandbox Code Playgroud)

或者至少,它返回一个空白.我错过了什么可能导致每次加载页面时都会创建一个新的会话密钥?

UPDATE

在进一步调查中,似乎在每次页面加载时重新生成cookie.可能导致什么?

我甚至都没有看着登录,所以这些信息对我来说毫无用处 - > http://willworkforbanjos.com/2014/02/laravel-sessions-not-working-in-4-1/

当我简单地将上面的set和get代码放在master.blade.php文件中时,我的问题就出现了.它应该设置它,存储信息,并在下次重新加载时从会话中获取正确的信息.但它不能,因为在重新加载时它将cookie更改为其他一些代码.

任何人都知道为什么会这样吗?

更新2

  1. 添加:'lifetime'=> 120到session.php不起作用.(@Sheikh Heera)
  2. 仅将代码放在控制器中不起作用.(@Phill Sparks)
  3. 我试过chrome和firefox,结果相同(@The Shift Exchange)

只是要明确我正在尝试做什么.我在HomeController.php中添加以下代码:

public function index()
{
    Session::put('awesomekey', 'myVal123');
    return View::make('home.index');
}
Run Code Online (Sandbox Code Playgroud)

然后我把它放在我的master.blade.php中:

print Session::get('awesomekey');
Run Code Online (Sandbox Code Playgroud)

我没有在代码的控制器端包含任何"die"或随机回声,除此之外.当我第一次打开文件时,我可以看到myVal123被打印出来.

然后我在控制器中取出这部分:

Session::put('awesomekey', 'myVal123');
Run Code Online (Sandbox Code Playgroud)

并重新加载页面.它现在什么都不打印.我可以在浏览器中看到cookie已更改.生成一个新的cookie将失去对会话的引用,所以我不知道每次都在理解它为什么这样做,即使它在第一次加载时保存了会话.

还有什么想法吗?

更新3

我也尝试过:

  1. 运行"php artisan dump-autoload"...仍然无效
  2. 我去了这里:http://www.whatismybrowser.com/are-cookies-enabled ...是的,启用了cookies.

我真的在这里没有想法......

更新4

  1. 我去了SessionManager.php,就在这下面:

    $ lifetime = $ this-> app ['config'] ['session.lifetime'];

我打印出了终身价值:

print $lifetime; die();
Run Code Online (Sandbox Code Playgroud)

这个代码从未在页面重新加载时被点击?!但是,在我的控制器中添加:

$d = Config::get('session.lifetime');
print $d;
Run Code Online (Sandbox Code Playgroud)

事实上,打印出我的终身价值.... :(

cod*_*ama 5

问题是这一行:

'cookie' => 'xxxx.com',
Run Code Online (Sandbox Code Playgroud)

在session.php中。显然,如果你有一个“.”,它就会丢失cookie。在 cookie 名称中。我不敢相信 Laravel 不喜欢这样。或者也许是一般的浏览器。

  • 我删除了下划线。但我仍然遇到问题。页面的每次加载都会创建一个新会话,而旧会话不会过期。 (4认同)