延长symfony的会话生存期

问题描述 投票:0回答:1

我在framework.yaml中有此代码:

session:
    handler_id: ~
    cookie_lifetime: 43200
    gc_maxlifetime: 43200

我希望会话可以存活约12个小时,但是几分钟后会话将过期。我还应该做什么修改?提前谢谢。

php symfony session-cookies php-7 symfony-3.4
1个回答
0
投票
[如果我没记错的话,您当前的配置是使PHP将会话文件保存在/var/lib/php/sessions内,并且总是通过php.ini中通过gc_maxlifetime配置的cron作业来检查此目录,并删除其中的PID。

要解决此问题,您必须重写会话处理程序,并使Symfony使用handler_idsave_path选项来处理会话,如下所示:

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

© www.soinside.com 2019 - 2024. All rights reserved.