Platzhalter

 
Platzhalter PlatzhalterPlatzhalter

Perl-Scripts debuggt

Platzhalter
 
  Startseite
  eBook-Projekt
  Web-Lexikon
  Bücher bestellen
   
  Design-Theorie
  Design-Praxis
  Promotion
  HTML/XML-Praxis
  Projekt-Management
  Webmaster-Praxis
  Fragen & Antworten
  Technik-Ecke
   
  Portal/Links
  Buch-Rezensionen
  Software
  Impressum
PlatzhalterPlatzhalter







 

Platzhalter 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.




Autor: Alexander Dilthey | Erstmalig veröffentlicht: 15.10.2000 | Einen Artikel schreiben?

 

Neue Artikel

Rezension: Entwurfsmuster von Kopf bis Fuß
Rezension: Webdesign mit CSS
AJAX - XML und JavaScript in Schönheit vereint?
Rich Email - Flash im Newsletter
Screen Reader Usability
Comment Spam und CAPTCHAs
Logfile-Analyse selbst gemacht - ein Perl-Beispiel

Partnerprogramm




Kommentar

Ist die Freiheit der Informationsgesellschaft in Gefahr?
Derzeit leben wir in einer relativ freien Welt. Doch sind derzeit Tendenzen erkennbar, die Freiheit des Individuums den Interessen der Großindustrie zu opfern. Ein Kommentar.

Druckversion
Sie wollen diese Seite ausdrucken? Dafür haben wir eine spezielle Druckversion ohne grafische Elemente entwickelt!



Einführung in CSS bei HTMLWorld.