Clé*_*aud 8 php session pdo symfony
对于我的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: Symfony\Component\HttpFoundation\Session\Storage\Handler\PdoSessionHandler
arguments: ["@pdo", "%pdo.db_options%"]
Run Code Online (Sandbox Code Playgroud)
一切都没关系,当我登录时,在我的数据库中创建一个条目,会话工作正常.
但是,如何在数据库中定义会话的生命周期?如果我的应用程序中只有4个成员,为什么我的会话表中有很多行(+50)?
我该如何配置?成员登录时我只需要一个会话.
您可以通过更频繁地运行会话垃圾收集器来减少会话表中的行数。
http://www.php.net/manual/en/session.configuration.php#ini.session.gc-probability
在你的 php.ini 文件中
会话.gc_probability=1
会话.gc_divisor=1
session.gc_maxlifetime=36000
这些设置将以 100% 的概率运行垃圾收集器,不建议在生产中这样做,但您应该能够验证它的工作原理并根据需要调整设置。
归档时间: |
|
查看次数: |
1930 次 |
最近记录: |