Сессия загружается нормально по большей части, но она случайным образом очищает все данные несколько раз, и я не знаю почему:
Создать мой новый сеанс:
$session = CGI::Session->new( "driver:file",undef,{Directory => '/tmp'} );
$session->param('logged_in', 1);
$session->expire('logged_in', '+10m');
$session->expire('+1h');
Теперь, когда я перехожу на другую страницу и загружаю сеанс, я делаю:
$session = CGI::Session->load ( "driver:file", $sid, {Directory => '/tmp'} );
return 0 if $session->is_expired;
return 0 if !$session->param('logged_in');
return $session;
Проблема, с которой я столкнулся, заключается в том, что иногда, до того, как поднимется 10-минутная отметка, параметр 'logged_in' пуст, когда его не должно быть. Почему это могло произойти?