2012-05-16 78 views
0

我想用CGI :: Session模块创建一个新会话。Perl CGI ::会话返回空

$session = new CGI::Session("driver:file", undef, {Directory=>'/tmp'}); 
$sid = $session->id; 

但它返回 [错误]无法在上线/home/httpd/cgi-bin/login.cgi 74,线36未定义的值调用方法 “ID”,

看来新会话返回null。它似乎也没有在tmp文件夹中创建任何新文件。 可能是什么问题?也许库安装不正确?从docs

+0

你有双重检查发现是Perl CGI运行的用户可以写入到/ tmp? (我希望任何人都可以写入/ tmp,但以防万一....) – Ilion

+0

是的,我检查,这不是 – Grey

回答

2

提取物:

新()

返回新的会话对象,或民主基金失败。错误 消息可通过errstr() - 类方法访问。

所以,你可能要检查的是这样的:

my $session = CGI::Session->new or die CGI::Session->errstr; 
+0

它似乎是一个缺少的模块:) – Grey