加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – Symfony2,在数据库中配置pdo会话存储

发布时间:2020-12-13 13:10:20 所属栏目:PHP教程 来源:网络整理
导读:对于我的Symfony2项目,我在数据库中使用会话存储. 所以,我配置我的config.yml: framework: session: handler_id: session.handler.pdoparameters: pdo.db_options: db_table: session db_id_col: session_id db_data_col: session_value db_time_col: sessi
对于我的Symfony2项目,我在数据库中使用会话存储.

所以,我配置我的config.yml:

framework:
    session:
        handler_id:     session.handler.pdo

parameters:
    pdo.db_options:
        db_table:    session
        db_id_col:   session_id
        db_data_col: session_value
        db_time_col: session_time

services:
    pdo:
        class: PDO
        arguments:
            - "pgsql:host=%database_host%;dbname=%database_name%"
            - "%database_user%"
            - "%database_password%"
        calls:
            - [setAttribute,[3,2]]

    session.handler.pdo:
        class:     SymfonyComponentHttpFoundationSessionStorageHandlerPdoSessionHandler
        arguments: ["@pdo","%pdo.db_options%"]

一切都没关系,当我登录时,在我的数据库中创建了一个条目,会话工作正常.

但是,如何在数据库中定义会话的生命周期?如果我的应用程序中只有4个成员,为什么我的会话表中有很多行(50)?

我该如何配置?成员登录时我只需要一个会话.

您可以通过更频繁地运行会话垃圾回收器来减少会话表中的行数.

http://www.php.net/manual/en/session.configuration.php#ini.session.gc-probability

在你的php.ini文件中

session.gc_probability合= 1

session.gc_divisor = 1

的session.gc_maxlifetime = 36000

这些设置将以100%的概率运行垃圾收集器,这不建议用于生产,但您应该能够验证它是否有效并根据需要调整设置.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读