即使在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
不幸的是,该解决方案解决了开发环境中的问题,但是一旦我在服务器上提取了代码,应用程序便崩溃了。
答案 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