Scripting

ID #1076 CGI-Script liefert "premature end of script headers"

Wenn ein CGI-Script (Perl, Python, oder sogar PHP) lediglich ein 500er-Fehler ausliefert und im error_log nur ein Premature end of script headers erscheint, so kann dies viele Ursachen haben.

Hier mal die typischen Fehlerquellen:

  1. Ist das Script im korrekten Modus (ASCII) hochgeladen?
    Evtl. mit dos2unix nach arbeiten. Hier kommt es vorallem auf den richtigen Abschluß der Shebang-Zeile an. Es darf dort kein \0x10 (also Zeilenvorschub) stehen sondern nur ein \0x13 (CR == Carrige Return).
  2. Sind die Rechte korrekt?
    Der User muß stimmen (vorallem wenn suExec genutzt wird) und das Script muss Ausführrechte haben. (chmod 755 script.pl)
  3. Ist der Interpreterpfad korrekt gesetzt?
    Stimmt der Pfad in der Shebang-Zeile? Perl liegt z.B. unter /usr/bin/perl.
  4. Hat das Script Syntax-Fehler?
    perl -c script.pl (bzw. php -l script.php) liefert entsprechende Fehlermeldungen oder eben:
    script.pl syntax OK
  5. Läßt sich das Programm starten?
    Mit ./script.pl testet man dann, ob es
    a) korrekt aufgerufen werden kann und
    b) HTML-Code mit mind. einem HTTP-Header liefert.
    Schlägt a) schon fehl, hat man die Punkte 1 bis 3 übersprungen!
    Content-type: text/html gefolgt von einer leeren Zeile sollte i.d.R. der HTTP-Header sein.
 

sozial Bookmarking
Bookmarken bei YIGG Bookmarken bei Mister-Wong Bookmarken bei Icio Bookmarken bei del.icio.us Bookmarken bei Technorati Bookmarken bei Furl Bookmarken bei Spurl Bookmarken bei Yahoo Bookmarken bei Google

huschi, zuletzt 2005-12-25 17:04     Artikel ausdrucken Artikel weiterempfehlen Als PDF-Datei anzeigen

Dieser Inhalt ist unter der Creative-Commons Lizenz lizensiert.

Probleme bitte im Server-Support-Forum diskutieren.

überflüssig 1 2 3 4 5 wertvoll  
Durchschnittliche Bewertung:   4 von 5 (2 Bewertungen)

Artikel kommentieren

Kommentar von Micha (2016-03-17 16:58:46):
An sich gute Fehlerbehandlung. Danke.

Bei Unix ist aber definitiv Linefeed LF = 0xA = 10 = \n am Zeilenende.

Gruß Micha