0

CGI::Session に問題があります。

cgi オブジェクトで渡された既存のセッション ID で新しいセッションを作成しようとしました。通常、セッションはデータベース内の既存のセッションを再利用する必要がありますが、そうではありません。代わりに、まったく同じセッション ID を持つ新しいセッション データベース エントリを作成します。

私のコードの関連部分は次のとおりです。

CGI::Session->name("DCGISESSID");


$session = CGI::Session->new('driver:mysql', $cgi,
    {
        TableName=>'DSESSIONS',
        IdColName=>'id',
        DataColName=>'a_session', 
        Handle=>$dbh,
    });


$sessioncookie = CGI::Cookie->new(-name=>'DCGISESSID', -value=>$session->id, -expires=>'+1h', -path=>'/');

name() メソッドでクッキー名を設定せず、デフォルト値の CGISESSID をクッキー名として使用しない限り、コードは機能します。しかし、何らかの理由で、CGI::Session->name("DCGISESSID"); で DCGISESSID に変更した後。うまくいきません。

誰かが同じ問題を抱えているか、私に何かアドバイスがありますか?

4

1 に答える 1

0

問題を解決しました。テーブルを false に設定したため、id も主キーではありませんでした。

于 2013-10-13T13:29:30.823 に答える