Symfony在空闲15分钟后注销

Symfony在空闲15分钟后注销,symfony,Symfony,我的symfony应用程序(3.4.8)似乎忽略了任何延长会话的尝试。解决此问题的最佳措施是什么?文件很模糊 app/config/security.yml security: encoders: FOS\UserBundle\Model\UserInterface: bcrypt providers: fos_userbundle: id: fos_user.user_provider.username

我的symfony应用程序(3.4.8)似乎忽略了任何延长会话的尝试。解决此问题的最佳措施是什么?文件很模糊

app/config/security.yml

security:
    encoders:
        FOS\UserBundle\Model\UserInterface: bcrypt

    providers:
        fos_userbundle:
            id: fos_user.user_provider.username


        main:
            pattern: ^/
            form_login:
                provider: fos_userbundle
                csrf_token_generator: security.csrf.token_manager
                default_target_path: /


            logout:       true
            anonymous:    true
            remember_me:
                secret:   '%secret%'
                lifetime: 28000
                path:     /
            access_denied_handler: app.security.access_denied_handler
config.yml

framework:
    lock:   'semaphore'
    #esi:             ~
    #translator:      { fallbacks: ["%locale%"] }
    secret:          "%secret%"
    router:
        resource: "%kernel.root_dir%/config/routing.yml"
        strict_requirements: ~
    form:            ~
    csrf_protection: ~
    validation:      { enable_annotations: true }
    #serializer:      { enable_annotations: true }
    templating:
        engines: ['twig']
    default_locale:  "%locale%"
    trusted_hosts:   ~
    trusted_proxies: ~
    session:

        handler_id:  session.handler.native_file
        save_path:   "/tmp"
        cookie_lifetime: 28800
    fragments:       ~
    http_method_override: true
    assets: ~

如果您在配置中尝试此操作:

会议:
cookie_寿命:18000
gc_最大寿命:18000

希望有帮助

由此判断:

handler\u id:session.handler.native\u文件

您正在使用本机会话处理程序。来自Symfony:

所谓的本机处理程序,是编译成PHP或由PHP扩展(如PHP Sqlite、PHP Memcached等)提供的保存处理程序

所有本机存储处理程序都是PHP内部的,因此没有面向公共的API它们必须由php.ini指令配置,通常是session.save\u路径和其他特定于驱动程序的指令

检查会话时,我没有发现与会话持续时间相关的方法。这让我得出结论,您必须在PHP级别设置持续时间,而不是在Symfony级别


因此,请尝试将(在您的
php.ini
或调用中)设置为3600。

如果您处于非活动状态超过30分钟,您的设置将注销

您可以在yml文件中添加以下内容

#app/config/config.yml
session:
    cookie_lifetime: 86400
    gc_maxlifetime: 1800
    gc_probability: 1
    gc_divisor: 1

你的要求是什么?禁用注销?或者将注销时间从15分钟增加到60分钟?例如,可以将其更改为60分钟而不是15分钟。文档中的内容似乎都被忽略了。请尝试将
记住我:生存期
会话:cookie\u生存期
的值变大。我试过了,但没有成功。该值被完全忽略。@user1029829请检查浏览器是否接受cookie,并且该cookie的值是否为非空。然后提供访问控制部分。并检查其他答案。它们可能会有帮助。