 |
Ihr gerade entwickeltes Perl-Script meldet sich nur mit einem "Internal Server Error" oder einem "Permission Denied"? Es gibt sehr viele verschiedene mögliche Ursachen für ein solches Verhalten, aber andererseits gibt es auch Strategien, das von Anfang an zu verhindern bzw. mit solchen Fehlern fertigzuwerden:
Pfad zu Perl
Der in der ersten Zeile Ihres Scripts stehende Pfad zu Perl muss korrekt sein, wenn Sie einen Unix-Server verwenden. Oft ist entweder "/usr/local/bin/perl" oder "/usr/bin/perl" die richtige Wahl, im Zweifelsfall erkundigen Sie sich bei Ihrem Webspace-Anbieter.
Upload-Modus
Wird das Script via FTP übertragen, muss der Modus unbedingt auf "ASCII" stehen!
Das richtige Verzeichnis
Oft gibt es nur ein Verzeichnis, in dem CGI-Scripts ausgeführt werden, oft "cgi-bin". Daher muss Ihr Script in diesem Verzeichnis liegen, sonst sind Fehlermeldungen vorprogrammiert.
chmod
Setzen Sie zum Testen Ihr Script auf "chmod 777". Verwendet Ihr Script andere Dateien/Verzeichnisse, setzen Sie diese ebenfalls auf "chmod 777". Mit einem anständigen FTP-Programm dürfte das kein Problem sein.
Fehler im Code
Lag es nicht an den Zugriffsberechtigungen, ist ein Fehler im Code selbst zu vermuten. Häufiger Fehler: es wird nicht geprüft, ob ein Dateihandle erfolgreich geöffnet wurde. Fangen Sie diese Ausnahme grunsätzlich ab:
open (DATEI, "</verz1/dat1.dat") || die ("Fehler: /verz1/dat1.dat kann nicht geöffnet werden");
Error Log und Alternativen
Die oben beschriebene Vorgehensweise ("Fehler im Code") hat einen Nachteil: die Fehlermeldung erscheint nicht auf dem Bildschirm Ihres Browsers, wenn Sie das Script aufrufen, sondern im Error Log Ihres Servers - genauso wie alle anderen Fehlermeldungen auch.
Oft ist es jedoch langwierig, auf das Error Log zurückgreifen zu müssen. Stellen Sie diesen Befehl hier in die zweite oder dritte Zeile Ihres Scripts, dann werden sämtliche Fehlermeldungen zum Browser ausgegeben:
use CGI::Carp qw(fatalsToBrowser);
Weitere Möglichkeiten
Sind der Pfad zu Perl, die Zugriffsberechtigungen und der Code selbst fehlerfrei, und es erscheint immer nur noch ein Error, aber keine Fehlermeldung, sollten Sie Ihren Webspace-Provider kontaktieren.
|
 |
|
|
Sie wollen diese Seite ausdrucken? Dafür haben wir eine spezielle Druckversion ohne grafische Elemente entwickelt! |
|
|
Einführung in CSS bei HTMLWorld.
|
|