Perl CGI ::会话,具有相同ID的多个会话,MySQL驱动程序

时间:2013-10-13 13:10:33

标签: database perl session cgi

我在使用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()方法设置cookie名称并使用默认值CGISESSID作为cookiename,代码就可以工作。但由于某种原因,在使用CGI :: Session-> name(“DCGISESSID”)将其更改为DCGISESSID之后;它不起作用。

有人遇到同样的问题或对我有任何建议吗?

1 个答案:

答案 0 :(得分:0)

解决了这个问题。我将表配置为false,这就是为什么id也不是主键。