Hi list,
I have a problem with Embperl and session tracking:
The stored values seem to be different for each running httpd, the
session data seem to be not stored globally / shared between all the
running httpd. I tested it with a simple counter, and it counts up until
a next httpd handles the request and then the counter of this httpd is
used, I guess. But thats not good for session tracking ... :-)
My embperl code is:
= = =
<html>
<h1>testitest<h1>
Session ID ... Hm!
<br><b>
[+ $udat{testi}++; +]
<br>
[+ $mdat{yeppa}++; +]
</html>
= = =
I am using a mod_perl build in apache, without DSO.
My start-up.pl scipt is the following:
= = =
#
# Hier werden mal die ganzen ueblichen Module reingezogen ...
#
use Apache::DBI;
use DBI;
use Apache::StatINC;
use CGI;
CGI->compile(':all');
use Fcntl qw(:DEFAULT :flock);
use Socket;
use Apache::SIG ();
Apache::SIG->set;
BEGIN
{
$ENV{EMBPERL_SESSION_CLASSES} = "DBIStore SysVSemaphoreLocker" ;
$ENV{EMBPERL_SESSION_ARGS} = "DataSource=dbi:mysql:session
UserName=session Password=xxxxx" ;
} ;
use HTML::Embperl;
1;
= = =
Also with
$ENV{EMBPERL_SESSION_CLASSES} = "MemoryStore NullLocker" ;
the same problem happens.
The cookie is set.
The mysql atabase is not updated every request, but I think
Apache::Session caches this.
But why the session tracking doesn't worl and the session data are not
shared between all running httpd?
Thanx and bye
Alvar