Unter Windows + Perl werden keine Sessions abgespeichert!

Alles, was Perl betrifft, kann hier besprochen werden.

Unter Windows + Perl werden keine Sessions abgespeichert!

Postby miroslax » 21. July 2006 20:28

Hi Leute,

ich hab ein Problem mit den Sessions unter Windows mit Perl.
Ich habe auf einem Win2000 System XAMPP 1.53a installiert.
Zuvor war bereits Active Perl darauf, das ich für meine Perlprogramme verwende.

Normale Perlskripte laufen alle wunderbar auf dem System.
(nachdem ich herausgefunden habe, dass kein vollwertiges Perl in XAMPP dabei ist).

In der Pfadangabe meiner ganzen Skripte steht eben:
#!/programme/perl/bin/perl -w

Nun brauch ich für eine Anwendung Session-Variablen, hab auch
das Perl Modul CGI-session nachinstalliert, war kein Problem.

Jedoch funktioniert das kleine Testprogramm nicht.

Code: Select all
#!/programme/perl/bin/perl -w

use CGI::Session;
use CGI;

$cgi = new CGI;
$session = new CGI::Session(undef, $cgi, {Directory=>'/tmp'});
$sid = $session->id();

print $session->header();
print "The session id is $sid.\n";


die Konsole liefert folgende Fehlermeldung:
Code: Select all
C:\tmp\Homepage\Game>perl ./session.pl
Set-Cookie: CGISESSID=8072eac3800ddb873dc8a0c914860deb; path=/
Date: Fri, 21 Jul 2006 19:19:52 GMT
Content-Type: text/html; charset=ISO-8859-1

The session id is 8072eac3800ddb873dc8a0c914860deb.
        (in cleanup) Can't call method "store" on an undefined value at C:/Progr
amme/Perl/site/lib/CGI/Session.pm line 192 during global destruction.

im Errorlog des Apache steht folgendes:
Code: Select all
[Fri Jul 21 20:42:39 2006] [error] [client 127.0.0.1] \t(in cleanup) Can't call method "store" on an undefined value at C:/Programme/Perl/site/lib/CGI/Session.pm line 192 during global destruction.


ich hab das Configfile des Apache durchgesehen und keine fehlende Option entdeckt.
Auf die Verzeichnisse "Active Perl" und "XAMPP" hab ich alle Rechte,
das Problem ist im Firefox, IE und Opera.

Ich hoffe mir kann jemand helfen!

Vielen Dank!
Miroslax
miroslax
 
Posts: 2
Joined: 21. July 2006 20:05

Postby Wiedmann » 21. July 2006 21:07

Ich rate jetzt einfach mal, da ich nichts mit Perl mach:
Can't call method "store" on an undefined value

Die Fehlermeldung beschwert sich, da etwas undefiniert ist.

$session = new CGI::Session(undef, $cgi, {Directory=>'/tmp'});

Hier weist du einem Parameter den Wert "undef" zu. BTW das ist "undef": eine Variable, Konstante o.ä.?

Also solltest du in der Doku schauen was hier für ein Wert erwartet wird.

Evtl. findest du ja auch in den Bugreports von CGI::Session bei CPAN oder deinem Perlanbieter etwas über dieses Problem.
Wiedmann
AF Moderator
 
Posts: 17102
Joined: 01. February 2004 12:38
Location: Stuttgart / Germany

Postby miroslax » 21. July 2006 21:47

hmm,
daran hab ich gar nicht gedacht, dass es am Prgramm liegen könnte.
Den Code hatte ich zum Testen aus dem Internet genommen...
War von so ner Perl Einsteiger Seite ein Tutorial zum Umgang mit Sessions
(hab selber noch nie mit Cookies oder Sessions gearbeitet)

Ich probier mal da weiter.
miroslax
 
Posts: 2
Joined: 21. July 2006 20:05


Return to Perl

Who is online

Users browsing this forum: No registered users and 22 guests