我对 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 后 它不起作用。
有人遇到同样的问题或对我有什么建议吗?