Session AppFog/Laravel 3上未举行的会议

Session AppFog/Laravel 3上未举行的会议,session,laravel,laravel-3,appfog,Session,Laravel,Laravel 3,Appfog,我不确定是什么原因造成的, 但我的项目在开发过程中一直运行良好 但是当我把它上传到AppFog时,我的sessions/Auth()突然不起作用了 身份验证用于登录。 因此,用户可以登录,并将重定向到他们的个人资料页。。。 从那里他们可以更新资料 因此,Auth()显然在保留会话,但当他们在站点上的任何其他位置单击时,会非常谨慎地远离他们的个人资料……突然,他们的会话丢失了。 如果他们想导航回他们的个人资料,他们必须重新登录 为什么这会发生在生产中,而不是在开发中。 代码库完全相同。 唯一的区别

我不确定是什么原因造成的, 但我的项目在开发过程中一直运行良好

但是当我把它上传到AppFog时,我的sessions/Auth()突然不起作用了

身份验证用于登录。 因此,用户可以登录,并将重定向到他们的个人资料页。。。 从那里他们可以更新资料

因此,Auth()显然在保留会话,但当他们在站点上的任何其他位置单击时,会非常谨慎地远离他们的个人资料……突然,他们的会话丢失了。 如果他们想导航回他们的个人资料,他们必须重新登录

为什么这会发生在生产中,而不是在开发中。 代码库完全相同。 唯一的区别是im使用本地/生产数据库设置,仅此而已。 除此之外,其他一切都是一样的

你知道这是什么原因吗?? 通常我会检查php.ini之类的,但在appfog上,我怀疑您是否可以访问任何深层管理内容

我是否应该从基于会话的身份验证切换到Redis/数据库身份验证???还有谁在AppFog、Laravel或YII上遇到过这个问题

更新

从默认值切换到数据库会话存储会产生一个奇怪的错误,即每次登录都有多个条目。这当然会导致Auth()尝试失败。我通过删除sessions表的id列上的auto_increment修复了这个问题。这修复了我的一个应用程序…它以前在默认设置下工作

另一个有问题的应用程序仍然无法工作。在尝试登录时,它现在至少只在会话表中创建1个条目,但由于某些原因,它没有创建登录cookie来与该表交叉引用

在Chrome控制台中,在工作应用程序的资源下,我有

laravel_会话->6

这是指会话表中的ID6,因此它可以工作

但在非工作应用程序中…我有

laravel_会话->41g1D4390Sd223s等

据我所知,这并不是指什么


对此有什么见解吗?

我对laravel3和laravel4都有类似的问题

解决方法(尽管不推荐)是

将任何内容放入会话后,手动使用
Session::save()

e、 g


正如我所发现的,有时laravel无法调用会话::save(),并且不会抛出任何异常或错误。

这可能是因为AppFog是一个基于云的服务,没有持久数据存储。默认情况下,Laravel使用磁盘存储进行会话。切换到将会话存储在数据库中,它们应该得到正确维护。

我使用Auth()类,因此打开了laravel/Auth.php,并将存储函数更改为包含Session::save();在存储令牌之后。没有工作:(关于这一点,另一件奇怪的事情是,我在appfog上有另一个应用程序使用Laravel3,具有完全相同的设置,只是一个不同的数据库,而且它运行得很好…..我被难住了…..laravel的会话在我看来是错误的。上面解决了我的问题。如果在你的情况下没有,那么打开开发控制台,检查会话id,看看它是否存在。)s或否。如果它确实存在,那么转到您正在使用的任何存储,看看它是否存在……漫长而痛苦的调试将在前面进行。如果它仍然不能解决您的问题,(如果您希望避免修改核心文件),然后转到第三方安全会话库,如phpseclib。我发现laravel3会话存在同样的问题,并认为该类是不可用的垃圾。@Michael.M使用Laravel4。到目前为止还没有遇到这个问题。虽然我可能同意这一点,但为什么我的另一个laravel3应用程序使用完全相同的un在AppFog上运行得很好更改了设置?但是…我现在正在尝试会话的数据库存储…更糟糕的是…而在我登录之前,它至少会让我登录,但会话无法保持。现在,使用数据库作为会话驱动程序,它甚至根本不会让我登录…但更糟糕的是,每次我尝试登录时,它实际上都会在会话中创建条目表。但它每次尝试都会创建4个新条目!!??。查看laravel核心文件,我完全不明白为什么,甚至不知道它可能会这样做。现在看来,我的两个应用程序都在appfog上损坏了。我尝试在一个正常工作的应用程序上使用数据库会话,但它不工作,当我恢复到其原始版本时l状态,它现在也坏了。可以登录,但会话无法保持…如果我使用数据库会话,它不会登录,但会在会话表中创建4-5个条目。啊!…我在这里大发雷霆:)正如我前面所说的,尝试第三方会话库,看看问题所在。一步一步。我在Appfog中遇到了同样的问题,我使用Spring。我一直在研究Appfog中的HttpSession似乎有问题,如果您在浏览器中签入,
sessionId
参数在每个请求中都会发生变化,因此它永远不会出现问题旧会话超过1个请求。
Session::put('foo','bar');
Session::save();