【问题标题】:How to configure symfony2 session lifetime如何配置 symfony2 会话生命周期
【发布时间】:2016-01-20 09:29:33
【问题描述】:

我正在尝试制作一个“记住我”检查按钮,以修复用户会话超过配置中指定的生命周期的时间。我在 NativeSessionStorage 类的帮助下使用了 symfony2 会话生命周期。

$nativeSession = new NativeSessionStorage(
        array(
            'cookie_lifetime' => 3600*24*7
        )
    );

当我尝试启动我创建的会话时,symfony 抛出这个异常。

if($_SESSION){
        session_destroy();
        $nativeSession->start();
    }

任何人都有正确的流程来声明此类会话。

【问题讨论】:

  • 这没有太大帮助。我不想更改 config.yml 中的值,而是直接在代码中更改。
  • 你为什么要这样做?配置是要走的路,因为在 Symfony2 中,您不是使用本地 Session 类,而是使用 Symfony2 Session 类。
  • 我正在尝试制作一个“记住我”检查按钮,以修复用户会话超过配置中指定的生命周期的时间。
  • 请将此信息添加到您的问题中,这样您就可以读出为什么您的问题在问题中没有重复,而不是在 cmets 中!这有助于保持网站更干净!谢谢。

标签: php symfony session


【解决方案1】:

如果你想在 Symfony2 中构建一个记住我的功能,你可以在 symfony2 配置中为这个函数定义更长的生命周期。有关更多信息,请参阅documentation。示例也取自那里。

# app/config/security.yml
security:
    # ...

    firewalls:
        main:
            # ...
            remember_me:
                secret:   '%secret%'
                lifetime: 604800 # 1 week in seconds
                path:     /
                # by default, the feature is enabled by checking a
                # checkbox in the login form (see below), uncomment the
                # following line to always enable it.
                #always_remember_me: true

【讨论】:

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