刷新时Laravel4丢失会话


Laravel4 losing session on refresh

我们有一个Laravel项目,它使用默认的Auth模块进行登录,但在某些计算机上,用户不会长时间登录。有时会话在登录后立即丢失,所以即使它记录了成功的登录尝试,下次刷新也不会通过身份验证。

我们已经尝试删除登录后的重定向以及各种会话存储(即"文件"answers"cookie"),但在某些计算机上(无论是哪种浏览器),问题从未发生,而在其他计算机上,问题仍然存在。

可能的原因是,有时同一请求的每个实例都会获得新的会话,据我们所知,这种行为是随机的。

复制这个问题的唯一方法是将Laravel会话存储切换到cookie,发送一些请求,将其切换回文件,然后会话往往会丢失,直到手动删除由Laravel为会话存储设置的名称和内容大小随机超过1kb的cookie

我们使用的是Laravel 4.1和原生PHP服务器(PHP artisan serve)

从我目前在谷歌上搜索到的情况来看,无论是将用户中的主键重命名为"id",还是删除每个重定向都没有帮助。

即使整个页面在模板中只包含/singin/路由和Auth::check(),问题仍然存在。

经过测试的浏览器是操作系统X 10.5.8和10.9上的Opera/Chrome/FFirefox,它们不起作用,而Ubuntu 13.10和另一个10.9操作系统X总是起作用。

这可能是我们用于开发的Web服务器中的错误吗?其他人见过这种情况吗?

感谢您的Eveni建议

从Artisan serve(内置PHP Web服务器)切换到Apache解决了这个问题,实验表明问题的原因是PHP Web服务器中的一个错误,该错误阻止它接受太长的cookie头。