Symfony 4会话过期太早

时间:2019-01-31 12:54:45

标签: php symfony authentication session-cookies symfony4

即使在config/packages/framework.yaml中设置了几天,我与Symfony 4.0的php会话也会过早过期。

framework:

{...}
session:
    handler_id: ~
    cookie_lifetime: 604800
{...}

当用户完成登入过程中,他可以浏览网站上的,如果他返回几分钟后,他并不需要重新登录。

但是,如果他在1或2个小时后返回(不确定确切信息),则会话已过期,因此他必须重新登录。

一个似乎工作的解决方案,是改变你在看什么上面:

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

不幸的是,该解决方案解决了开发环境中的问题,但是一旦我在服务器上提取了代码,应用程序便崩溃了。

1 个答案:

答案 0 :(得分:1)

问题已解决

问题出在 save_path 。只需使用official Symfony Documentation中建议的参数即可。这样,您的cookie将被正确存储。

session:
    handler_id: session.handler.native_file
    save_path: '%kernel.project_dir%/var/sessions/%kernel.environment%'
    cookie_lifetime: 604800