LINUX.ORG.RU

Perl Apache::Session


0

1

Apache::Session, хранение сессии в PostgreSQL,
так как приложение PostgreSQL использует.
На клиенте session_id хранится в cookie.

Храню в сессии на сервере client_ip, last_access_time и помелочи всякое.

Нужно при каждом вызове клиентом файла *.pl
сначала запустить обработку сессии - сверить ip, длительность сессии
и передать дальше в шаблон tt.

Создал класс Session.pm, но Apache ругается - нельзя передать объект Request.
Ругается на последнюю приведенную строку в Session.pm.

rt.pl:

#!/usr/bin/perl
use strict;
use Apache2::Request;
use XXX::Session;
my $r = shift;
my $req = Apache2::Request->new($r);
$r->content_type('text/html; charset=utf-8');
my $class = XXX::Session->new($r);

Session.pm:

package XXX::Session;
use strict;
use Apache2::Request;
use Apache2::RequestRec;
use Apache2::RequestIO;

use Apache2::Connection ();
use Apache::Session::Postgres;

sub new {
my $class = shift;
my $self = {};
bless $self, $class;
$self->_init(@_);
return $self;
}

sub _init {
my $self = shift;
my $r = shift;
my $cookie = $r->headers_in('Cookie') || ";

★★

Кавычки менять не пробовал? Предупреждение которое выводится - процитировать можешь?

TheKnight ★★★ ()
Ответ на: комментарий от WinLin2

На каждый запрос pl-файла, нужно вызывать работу с сессиями.
Как у Вас это организовано?

WinLin2 ★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.