500 Internal Server Error
Jasmin
- perl
Hallo liebe Forumsgemeinde,
nachdem ich mich auch mal mit Perl beschäftigen wollte, bin ich gleich auf das erste Anfängerproblem gestossen. Beim Ausführen eines Perl-Skriptes zeigt der Browser den Fehler 500.
Mein erster Verdacht lag auf dem Shebang. Deshalb habe folgendes PHP-Skript ausgeführt:
<?php
system("whereis perl");
?>
Ergab /usr/bin/perl, jedoch ist mir noch etwas aufgefallen: Das PHP-Skript lies sich nicht im cgi-bin Verzeichniss ausführen. Im Internet bin ich dann auf folgende Lösungen gestoßen:
Beides hat nichts gebracht.
Grüße
Jasmin
Hallo,
500 Internal Server Error
Das kann so ziemlich alles bedeuten und ohne das Script zu sehen und die genaue Fehlermeldung im Errorlog zu kennen, ist das Ganze jetzt nur ein Herumraten, also gib uns bitte etwas mehr Information.
Markus
Hallo liebe *Markus,
die genaue Fehlermeldung im Errorlog
Wie komme ich an den Errorlog?
Grüße
Jasmin
Hi,
Wie komme ich an den Errorlog?
Es befindet sich in einem Verzeichnis deines Webservers. Wo dieses Verzeichnis ist, ist von Provider zu Provider unterschiedlich. Bei halbwegs guten Providern hast du ohnehin eine Art Webinterface worin sich auch ein Link zum Inhalt deines Errorlogs befinden müsste.
Kommst du nicht an das Errorlog, zeige uns einfach das Script.
Markus
Hallo Markus,
Im Errorlog steht:
Premature end of script headers
Grüße
Jasmin
Hi,
Im Errorlog steht:
Premature end of script headers
Das ist ja schon mal ein Anfang. Hast du etwa keinen Content-Type ausgegeben? Wenn du Daten über einen Webserver ausgibst, musst du das tun, also zB bei HTML: print "Content-type:text/html\n\n"; vor der ersten Datenausgabe.
Markus
Hallo Markus,
Super jetzt hat es funktioniert. Es lag an der ungewollten Ausgabe von "", noch vor dem Header. Dies kam daher das ich die Datei in UTF-8 gespeichert habe (Notepad++). Wie kann ich die Ausgabe von  verhindern?
Grüße
Jasmin
Super jetzt hat es funktioniert. Es lag an der ungewollten Ausgabe von "", noch vor dem Header. Dies kam daher das ich die Datei in UTF-8 gespeichert habe (Notepad++). Wie kann ich die Ausgabe von  verhindern?
indem du die Datei nicht im utf-8 Format abspeicherst.
Struppi.
Hallo
Super jetzt hat es funktioniert. Es lag an der ungewollten Ausgabe von "", noch vor dem Header. Dies kam daher das ich die Datei in UTF-8 gespeichert habe (Notepad++). Wie kann ich die Ausgabe von  verhindern?
In Notepad++ sollte dies über das Menü Format möglich sein. Aktiviere
Kodiere als ANSI
Anzeige als UTF-8
Dieses nervige Verhalten für vernünftige UTF-8-Dateien ohne BOM und seths fleißige Werbung haben mich inzwischen zum Wechsel auf Vim bewegt.
Freundliche Grüße
Vinzenz
Hallo Jasmin,
der Fehler 500 kommt bei jedem Syntaxerror in Perl.
Deshalb sollte man ein Script vorher am Prompt auf richtige Syntax testen.
Dafuer gibt es bei den Komandozeilen-Optionen extra einen Schalter:
perl -c schript.pl
Gruss Norbert
Hallo Norbert,
der Fehler 500 kommt bei jedem Syntaxerror in Perl.
Deshalb sollte man ein Script vorher am Prompt auf richtige Syntax testen.
Dafuer gibt es bei den Komandozeilen-Optionen extra einen Schalter:
perl -c schript.pl
Ok, wie oben bereits geschrieben, kommt aber im Verzeichnis cgi-bin auch bei php und htm Datein der Fehler 500.
Grüße
Jasmin