Ich betreibe eine Community auf der Fotos on-the-fly erzeugt werden. Den Erzeugungsprozess ließ ich als ModPerlprozess laufen was auf den ersten Blick funktionierte. Gleichzeitig fiel mir auf, ich konnte jedoch keinen Zusammenhang entdecken, dass wie nach dem Zufallsprinzip manchmal ein POST-Request schief lief. Dabei kommt immer wieder ein leerer CONTENT_LENGTH an. Das Phenomen trat in <1 % aller POST-Requests auf, sodass es dauerte bis ich ihm auf die Schliche kam.
Ich verstehe das Problem jedoch nicht, da der gesamte Prozess in einem Modul abgewickelt wird, welches schon im Startup.pl per use eingebunden wird.
Nun verstehe ich folgendes nicht. Das ModPerl-Script sieht so aus:
foto.pl
#!/usr/bin/perl
use strict;
use warnings
use MeineModule::Foto;
{
my $img = MeineModule::Foto->new();
$img->run;
}
in der startup.pl befindet sich lediglich die Zeile
foto.pl wird folgendermaßen in ModPerl2 eingebunden:
<FilesMatch "foto\.pl$">
SetHandler perl-script
PerlHandler ModPerl::Registry
#Options +ExecCGI #funktioniert auch ohne diese Zeile
</FilesMatch>
Wo ist mein Denkfehler?? Es gibt nirgenswo globale Variablen und MeineModule::Foto gibt auch korrekterweise 1 zurück.
Ich steh aufm Schlauch-
Ich habe obendrein die ganze Zeit den Verdacht, dass mir irgendein wichtiges Must-have von ModPerl2 noch fehlt !
Last edited: 2009-05-17 20:18:53 +0200 (CEST)