2012-05-16 75 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