【问题标题】:How can I increase session lifetime in Symfony2?如何在 Symfony2 中增加会话生命周期?
【发布时间】:2014-12-18 06:20:55
【问题描述】:

我已将 config.yml 文件中的 gc_maxlifetime 设置为 300。但它不起作用。 Symfony2 仍然采用 php.ini 中设置的值

Symfony 版本是 2.4.4

【问题讨论】:

    标签: php symfony session-timeout symfony-2.4


    【解决方案1】:

    尝试设置会话配置键的 cookie_lifetime 参数。

    session:
        cookie_lifetime: 300 # override php.ini config
    

    here所述

    希望有帮助

    【讨论】:

    • 我在 Symfony config.yml 中设置了 gc_maxlifetime: 300 和 cookie_lifetime: 300。在 php.ini 中,我将 gc_maxlifetime 设置为 60。设置 cookie_lifetime 也不起作用,因为用户在 60 秒后仍然注销
    • 很奇怪,请检查您是否验证了正确的php.ini(apache而不是cli)直接观看sf2配置文件页面如下示例:localhost/app_dev.php/_profiler/phpinfo
    【解决方案2】:

    这是我的方法(来自 Drupal 配置):

    1. 将处理程序设置为native_file(我会使用PDOSessionHanlder,但似乎不太稳定);
    2. app文件夹下创建seesions目录;

    config.yml文件:

    session:
        handler_id: session.handler.native_file
        cookie_domain: %cookie_domain%
        name: SFSESSID
        cookie_lifetime: 2000000 # change this if you want
        save_path: "%kernel.root_dir%/sessions"
        gc_divisor: 100
        gc_maxlifetime: 200000 # change this if you want
        gc_probability: 1
    

    【讨论】:

      猜你喜欢
      • 2014-06-15
      • 2011-08-21
      • 2020-06-09
      • 1970-01-01
      • 2016-10-16
      • 2011-09-22
      • 2015-03-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多