Главная страница


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Eugene Krivdyuk                      2:5020/400     26 Jul 2006  20:42:06
 To : All
 Subject : Вопрос по созданию CGI сессий
 -------------------------------------------------------------------------------- 
 
 Есть CGI-приложение в котором используются сессии.
 
 Есть два файла:
 
 file SessionSingleton.pm
 ----------------------------------------------------------------------------
 package SessionSingleton;
 
 BEGIN { require "config"; import config; }
 
 use CGI::Session;
 
 my $session;
 
 =head1 getInstance
 
  Return instance of user
 
 =cut
 sub getInstance
 {
  defined $session or $session = CGI::Session->new(
                                                 undef,
                                                 undef,
                                                 { Directory => SESSION_DIR }
                                                );
  return $session;
 }
 
 1;
 ----------------------------------------------------------------------------
 
 file index.pl
 ----------------------------------------------------------------------------
 use SessionSingleton;
 use CGI;
 use CGI::Session;
 
 my  $cgi        = CGI->new;
 my  $session    = SessionSingleton->getInstance();
 #my  $session    = CGI::Session->new(
                                       undef,
                                       undef,
                                       { Directory => "/tmp/sessions" }
                                     );
 
 $cgi->cookie( CGISESSID =>  $session->id );
 
 print $session->header;
 print $session->id;
 exit 0;
 ----------------------------------------------------------------------------
 Проблема: при создании сесии способом номер два (CGI::Session->new...)
 все работает отлично (файл создается, кука устанавливается).
 
 При использовании второго способа (SessionSingleton->getInstance())
 не работает (не создается файл и соответственно кука не ставиться).
 
 Вопрос: как сделать так, чтобы способ с использованием SessionSingleton
 работал корректно ?
 
 Есть подозрение что проблема в областях видимости, но где именно -
 не знаю.
 
 ЗЫ Проблема не в том, что сессия не создается. Она-то как раз вполне
 создается, но ее статус всегда равен 1. А у полнеценной сессии статус
 должен быть равен 2.
 
 -- 
 With Best Regards, 
   Eugene  Krivdyuk
 --- ifmail v.2.15dev5.3
  * Origin: Demos online service (2:5020/400)
 
 

Вернуться к списку тем, сортированных по:

 Тема:    Автор:    Дата:  
 Вопрос по созданию CGI сессий   Eugene Krivdyuk   26 Jul 2006 20:42:06 
Архивное /ru.cgi.perl/65770db461ab.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional