我想知道为什么我正在编写的网站页面的每次刷新或在不同页面之间移动都会创建新的会话记录(我将它们存储在数据库中而不是使用标准解决方案)。换句话说,每次单击(我没有使用 JS/AJAX)都会创建新记录/新会话。
这是我在配置文件中的会话配置:
session:
lifetime: 7200
domain: MY_SERVER
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:
dsn: HOST
user: USER
password: PSWD
session.handler.pdo:
class: Symfony\Component\HttpFoundation\Session\Storage\Handler\PdoSessionHandler
arguments: [@pdo, %pdo.db_options%]
我尝试使用:
auto_start: false
但是我从 Symfony2.1 得到以下错误:
The auto_start setting is deprecated. Just remove it from your configuration file.
那么我应该怎么做才能有正常的会话呢?
更新我还使用了以下内容:
arguments:
- "mysql:host=%database_host%;dbname=%database_name%"
- %database_user%
- %database_password%
也就是说,我对整个项目的基本数据库设置(存储在 parameters.yml 中)。