gpt4 book ai didi

php - Symfony2,在数据库中配置 pdo session 存储

转载 作者:可可西里 更新时间:2023-11-01 12:39:22 25 4
gpt4 key购买 nike

对于我的 Symfony2 项目,我正在使用数据库中的 session 存储。

所以,我这样配置我的 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: Symfony\Component\HttpFoundation\Session\Storage\Handler\PdoSessionHandler
arguments: ["@pdo", "%pdo.db_options%"]

一切正常,当我登录时,会在我的数据库中创建一个条目并且 session 工作正常。

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

我该如何配置它?当成员(member)登录时,我只需要一个 session 。

最佳答案

您可以通过更频繁地运行 session 垃圾收集器来减少 session 表中的行数。

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% 的概率运行垃圾收集器,建议将其用于生产,但您应该能够验证它是否有效并根据需要调整设置。

关于php - Symfony2,在数据库中配置 pdo session 存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23785275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com