brauchbar.de - WebDesign, Programmierung,Development in HTML, CSS, Javascript, PHP, Perl und mehr

[ Startseite | Artikel : HTML · JavaScript · CSS · Perl · Usability · Sonstiges | Services | Über ]


verwandte Artikel und Seiten

Eigene Fehlermeldungen und was man mit ihnen anfangen kann II -- PERL-2

von Thomas Salvador.

zurueck Teil 1

Die Dokumentation

Das Programm erhält die relevanten Daten über Umgebungsvariablen:

Logging oder Mailing geschieht nur dann, wenn es sich um einen Fehler auf der Site handelt. Tippfehler im URL u.ä. werden also nicht protokolliert, da Sie für den Master unerheblich sind.

Handelt es sich um einen zu bearbeitenden Fehler (Ist der Referer nicht-leer), so wird je nach Konfiguration mailit() und/oder logit() aufgerufen. mailit() generiert eine Mail an $mailaddy, die Kurz und knapp die Daten enthält.

logit() hängt die Zeile $fehlerno|$referer|$requested an das LogFile an, wobei man sich natürlich klarmachen muss, dass die $... die Variablen mit den entsprechenden Werten sind. Der vertikale strich ist oft ein ideales Trennnzeichen, da er in Werten selten vorkommt. So auch hier. Prinzipiell kann man natürlich auch etwas anderes wählen.

Beispiel:

404|/test.html|/verzeichnis/gibesnicht.html

würde einen Fehler 404 zeigen. Der Link von test.html auf gibesnicht.html im Verzeichnis verzeichnis ist ungültig.

Nunja, die Dateien gibt es allesamt nicht.

Was auch immer gemacht oder nicht gemacht wurde, das Programm endet damit, dass es zur entsprechenden Fehlerdatei verweist, die wir schon für den ersten Teil der Serie der Serie erstellt hatten.

Um ein Programm für alle Fehler zu haben und gleichzeitig die Konfiguration zu minimieren, benutzt das Programm ein fixes Namensmuster für die Dateien.

$response verweist auf das Verzeichnis, in dem die Dateien liegen (z.B. http://www.example.org/fehler/ -- mit Schrägstrich am Ende). $fileext gibt die verwendete Dateerweiterung an. Beispiele sind ".html", ".shtml" oder auch ".php3" oder was Sie gerade benutzen. Daraus ermittelt das Programm:
$response$fehlerno$fileext

also z.B.

http://www.example.org/fehler/404.html
http://www.example.org/fehler/403.shtml
http://www.example.org/fehler/500.php3

je nachdem, was Sie eingestellt haben und welche Fehlernummer gerade vorliegt.

Die Einbindung

Um das Programm zu benutzen, installieren Sie es zunächst, wie Sie jedes CGI installieren. Passen Sie dazu den oberen Bereich des Programms entsprechend an (Pfad zu Perl, Pfad zu Sendmail, sonstige Konfiguration). Achten Sie darauf, dass der Upload im ASCII-Modus geschieht, da es sonst nicht funktionieren wird. Ich gehe davon aus, dass Sie dass Script logerr.pl genannt haben. Ansonsten müssen Sie die Installation Ihrer Namenwahl entsprechend anpassen. Die Rechte des Scriptes müssen 755 sein.

Nun muss die Datei .htaccess im Hauptverzeichnis Ihres Servers (analog zum ersten Teil) angepasst werden.

Für jeden Fehler, für die Sie eine Fehlerseite angefertigt haben, fügen Sie die Zeile

ErrorDocument ### /cgi-bin/logerr.pl?###

in .htaccess ein, wobei ### die Fehlernummer ist. Z.B.

ErrorDocument 401 /cgi-bin/logerr.pl?401
ErrorDocument 402 /cgi-bin/logerr.pl?402
ErrorDocument 403 /cgi-bin/logerr.pl?403
ErrorDocument 404 /cgi-bin/logerr.pl?404
ErrorDocument 500 /cgi-bin/logerr.pl?500

Für jeden Fehler xyz kann es natürlich nur einen ErrorDocument-Eintrag geben.

Das können Sie so ausprobieren. Bei einem direkten Aufruf einer nichtexistierenden Datei, sollte die 404er Fehlerdatei kommen. Über einen Link aufgerufen, sollte es Mail und/oder Logeintrag geben.

Fehlt der gewünschte Logeintrag, uploaden Sie eine leere LogDatei an ihre Stelle und setzen Sie ihre Rechte auf 666. (Manche Server erzeugen nicht vorhandene Dateien, wenn man Sie mit >> öffnet, andere eben nicht.)

zurueck Teil 1


Verwandte Artikel und Seiten



Diese Site anlinken. Artikel zu CSS | HTML | JavaScript | Perl | Usability | Sonst. | nach Ausgabe.
Copyright © 1999-2012 Thomas Salvador und brauchbar.de . Alle Rechte vorbehalten. Gehostet bei all-inkl.
Reproduktion, ganz oder in Teilen, nur mit schriftlicher Zustimmung von Thomas Salvador. Impressum · Datenschutzerklärung · Kontakt.

zum Inhaltsverzeichnis der 26. Ausgabe.

Linken Sie bitte zu der festen Adresse http://www.brauchbar.de/wd/artikel/88.html .