Symfony2 - 会话存储无法正常工作

时间:2014-10-14 09:16:58

标签: php symfony nginx fosuserbundle

我开发了一个带有FOSUserBundle的symfony2应用程序和用于处理用户登录和注册的HWIoauthBundle。在localhost环境中一切正常。

在生产服务器上,缓存和日志文件夹是可写的,缓存被清除 - 也使用了预热命令 - ,资产已安装。

该应用程序似乎也可以工作,我从数据库中看到内容,并且可以在不需要用户登录的情况下插入数据。

尝试使用已知用户/通行证登录只会返回相同的登录页面,没有任何错误或任何错误。注册新用户将返回csfr令牌无效的错误。 CSFR令牌可用作表单中的隐藏字段。

我在网络上的最后几个小时搜索了任何类似的错误,但没有一个有用的答案。

生产服务器是一台运行与Nginx代理并行的Linux机器。

如果您需要查看任何配置,请向我询问,以便我提供。

2 个答案:

答案 0 :(得分:1)

推理错误的基本原因,登录时没有响应,错误的令牌...... 看起来像会话问题。

事实证明,php.ini中会话存储配置的回退不是防故障的。 所以我将下面的代码添加到config.yml:

session:
    handler_id: session.handler.native_file
    save_path: "%kernel.root_dir%/sessions"

然后,添加文件夹“sessions”并清除prod env的缓存。 现在它的工作原理应该如此。

希望这可以帮助其他人!

答案 1 :(得分:0)

这可能是一个边缘情况,但是当同事改变了#session_prefix'到其中有空格的值。

session_prefix: 'This will break'
相关问题