升级到2.1后的Symfony PdoSessionStorage问题

时间:2012-10-17 07:41:21

标签: symfony symfony-2.1

从2.0.X升级到2.1后,我的Symfony应用程序出现了一些问题。在升级之前,应用程序正好使用PdoSessionStorage。 The docs说在2.1中PdoSessionStorage的配置存在一些差异,但我认为我能够做出这些改变。

我看到的问题是没有数据被添加到会话表中的session_value(db_data_col)列。它正在为当前会话添加一条新记录,但它将数据留空。

有没有人遇到过这个问题?

我的配置包含以下内容:

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:
            dsn:         "mysql:host=%database_host%;port=%database_port%;dbname=%database_name%"
            user:        %database_user%
            password:    %database_password%

    session.handler.pdo:
        class:     Symfony\Component\HttpFoundation\Session\Storage\Handler\PdoSessionHandler
        arguments: [@pdo, %pdo.db_options%]

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题。在查看PdoSessionHandler.php代码之后,我发现代码依赖于session_id是uniq的事实。如果您像我一样,并且您基于此article创建了会话表,则情况并非如此。

编辑:事实上是这样的..我不知道为什么不是我的数据库中的情况

在我修复它的情况下,我不得不清空会话表并使session_id字段为uniq

答案 1 :(得分:0)

弄清楚发生了什么。我们发现了一些修改$ _SESSION的旧代码。 S2.1从" _symfony2"更改$ _SESSION中使用的密钥。到" sf2 *"