Philipp Hasenfratz: Premature end of script headers

Beitrag lesen

Halihallo

MANCHMAL bekomme ich die Fehlermeldung Premature
end of script headers zurück. Beim zweiten starten
des scripts wirds dann ausgeführt.

Anscheinend gibt irgendwas innerhalb Deines Skripts manchmal eine Fehlermeldung nach stdout aus - und zwar
_bevor_ Du Deinen HTTP-Header ausgegeben hast.
Das Ergebnis ist dann ein HTTP-Header mit kaputtem Inhalt, welcher diese Meldung im Server verursacht.

Die Fehlermeldung Deines Skripts kannst Du in Deinem
error_log nachlesen. (Du hast doch ein error_log? Du
wirst doch nicht etwa im Blindflug CGI-Skripte entwickeln? ;-)

Ich bin mal so "frech" und sage, dass es sich sogar _nur_ um diesen Fehler handeln kann. Veraten tut mir das MANCHMAL aus dem Ausgangsposting.
Einfach mal

autoflush(STDOUT); autoflush(STDERR);

an den Anfang des Scriptes hängen und schon wird man schlauer...
Der Fehler ist damit zwar nicht behoben, aber die Page sollte wenigstens Dargestellt werden.

Ich nehme an, dass dir -w irgendwelche Fehler gibt. Folgendes hab ich beim überfliegen des Sources festgestellt:

my $Dateiname = $Datei[$#Datei]; #ermittelt letztes element

das letzte Element hat den Index (scalar(@Datei)-1), nicht $#Datei.

$Dateisize /= 1000; #Datei jetzt in kByte
if ($Dateisize > 2000) #wenn Datei größer 2MByte

btw: Ein Megabyte hat 1024 KByte und ein KByte hat 1024 Bytes...

Viele Grüsse

Philipp