Symfony PDO会话升级到2.1后的存储问题

Symfony PDO会话升级到2.1后的存储问题,symfony,symfony-2.1,Symfony,Symfony 2.1,从2.0.X升级到2.1后,我的Symfony应用程序出现了一些问题。在升级之前,应用程序使用PdoSessionStorage很好。假设2.1中PdoSessionStorage的配置有一些不同,但我认为我可以进行这些更改 我看到的问题是,没有数据被添加到会话表中的session_value(db_data_col)列中。它正在为当前会话添加一个新记录,但它将数据保留为空 有人有这个问题吗 我的配置包含以下内容: framework: session: handler_

从2.0.X升级到2.1后,我的Symfony应用程序出现了一些问题。在升级之前,应用程序使用PdoSessionStorage很好。假设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%]

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

编辑:事实就是这样。。我不知道为什么在我的db里不是这样


在我的情况下,为了修复它,我必须清空会话表并使会话id字段uniq

了解发生了什么。我们发现了一些修改$\u会话的旧代码。S2.1将其在$_会话中使用的键从“_symfony2”更改为“sf2*”

是否尝试使用探查器工具栏检查数据库上运行的查询?我查看了一下,但在探查器中没有看到会话的任何内容。我确实尝试在Symfony\Component\HttpFoundation\Session\Storage\Handler\PdoSessionHandler::write中转储$data的值,但它只是一个空字符串Hey Yann,感谢您的回复。我试过这个,但似乎对我不起作用。我会继续努力想办法的。