cgi-binにperl-modulesディレクトリを作成し、モジュールをそのディレクトリに抽出することで、CGI::Sessionモジュールをホストにインストールしました。
D: cgi-bin/perl-modules/CGI/
F: cgi-bin/perl-modules/CGI/Session.pm
D: cgi-bin/perl-modules/CGI/Session/
F: cgi-bin/perl-modules/CGI/Session/File.pm
D: cgi-bin/perl-modules/CGI/Session/ID/
D: cgi-bin/perl-modules/CGI/Session/Searialize/
私が行うスクリプト(これはcgi-bin / test /にあります):
use lib '../perl-modules';
use CGI::Session;
$session = new CGI::Session (
"driver:File",
undef,
{Directory => '/tmp'}
);
$session->param('_logged_in', 1);
$session->param('_remote_ua', $ENV{'HTTP_USER_AGENT'});
$session->expire('+2hr');
呼び出しが期限切れになるまで、すべてが正常に機能します。期限切れの呼び出しをeval内に置くと、次のエラーが発生します。
Can't locate auto/CGI/Session/File/expire.al in @INC (@INC contains: ../perl-modules /usr/lib/perl5/5.8.7/i686-linux /usr/lib/perl5/5.8.7 /usr/lib/perl5/site_perl/5.8.7/i686-linux /usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.7/i686-linux /usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl .)
何か案は?