0

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%]
4

2 に答える 2

0

私も同じ問題を抱えていました。PdoSessionHandler.php コードを調べたところ、このコードは session_id が uniq であるという事実に依存していることがわかりました。あなたが私のようで、この記事に基づいてセッション テーブルを作成した場合は、そうではありません。

編集:実際にはそうです..私のデータベースではそうではなかった理由がわかりません

私の場合、それを修正するには、セッション テーブルを空にして、session_id フィールドを uniq にする必要がありました

于 2012-10-18T15:12:19.590 に答える
0

何が起こっているのかを理解しました。$_SESSION を変更していた少し古いコードを発見しました。S2.1 は $_SESSION で使用するキーを "_symfony2" から " sf2 *"に変更します

于 2012-10-19T00:54:14.527 に答える