Всем привет, в инете полно примеров как использовать сессии в mod_perl Apache 1.x, однако для mod_perl2 я ни одного рабочего примера найти не могу. Может тут кто знаком с этим и даст пример как оно там работает? а то 2 дня уже ломаю голову работает на половину. на данный момент есть такой кусок кода тупо создать сессию и вытащить из нее значение если сессия есть:
use Apache2::Request;
use Apache2::RequestRec;
use Apache::Session::File;
$req = Apache2::Request->new($r);
# check if session exists
$cookie = $req->headers_in->{Cookie} || undef;
if ($cookie) {
$cookie =~ s/SESSION_ID=(\w*)/$1/;
tie %session, 'Apache::Session::File', $cookie,
{ Directory => "/tmp/plsessions/",
LockDirectory => "/tmp/plsessionslock/" };
$acc_fromsess = $session{acc_id};
print "Yes cookie = $cookie<br>";
print "acc_fromsess = $acc_fromsess<br>";
}
else {
#create a new session, give them their cookie back
tie %session, 'Apache::Session::File', $cookie,
{ Directory => "/tmp/plsessions/",
LockDirectory => "/tmp/plsessionslock/" };
$session_cookie = "SESSION_ID=$session{_session_id};";
$req->headers_out->set('Set-Cookie' => $session_cookie);
print "No cookie, new = $session_cookie<br>";
$session{acc_id} = "234";
}
при этом создание новой сессии происходит нормально, а вот проверка существующей сессии, падает с ошибкой malloc в логе:
==> /etc/httpd/logs/error_log <==
*** glibc detected *** /var/www/trade: malloc(): smallbin double linked list corrupted: 0x00007f3bfecbb960 ***
помогите плиз понять что не так или хотя бы пример работы с сессией в mod_perl2