我开发了一个带有FOSUserBundle的symfony2应用程序和用于处理用户登录和注册的HWIoauthBundle。在localhost环境中一切正常。
在生产服务器上,缓存和日志文件夹是可写的,缓存被清除 - 也使用了预热命令 - ,资产已安装。
该应用程序似乎也可以工作,我从数据库中看到内容,并且可以在不需要用户登录的情况下插入数据。
尝试使用已知用户/通行证登录只会返回相同的登录页面,没有任何错误或任何错误。注册新用户将返回csfr令牌无效的错误。 CSFR令牌可用作表单中的隐藏字段。
我在网络上的最后几个小时搜索了任何类似的错误,但没有一个有用的答案。
生产服务器是一台运行与Nginx代理并行的Linux机器。
如果您需要查看任何配置,请向我询问,以便我提供。
答案 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'