Oh ja, ich hatte seinen letzten Satz irgendwie übersehen.jens hat geschrieben:Ich tippe ehr darauf, das zuerst der Header mit print "Content-Type: text/html;charset=utf-8;\n" Ausgegeben wurde. Dann klappt es natürlich nicht
CGI Script und HTML redirect?
Ja, die Bedeutung kenne ich inzwischen. Nur: wie bzw. wo erhalte ich meine Ausgabe bei Fehlern? Bin da grade etwas durcheinander.@ne0h: Diese Zeilen kennst du schon?Code: Alles auswählen
# Debugging für CGI-Skripte 'einschalten' import cgitb; cgitb.enable()
Na ja, momentan löse ich das ganze mit reinenm HTML oder mit SSI bzw. druch CGI generierten Seiten.
ne0h
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Bei Exceptions / im Browser. Jetzt mal kurz zusammengefasst.ne0h hat geschrieben:Nur: wie bzw. wo erhalte ich meine Ausgabe bei Fehlern?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Lange nicht benutzt, aber ich hatte immer `cgitb.enable(display=1)` gesetzt - vielleicht macht das den Unterschied. Im Browser sollte dann ein bunter Traceback (unsicher, nicht öffentlich benutzen!) erscheinen, bei `display=0` nur ein "An error occured in a Python script.", auf dem selben rosa-ähnlichen Hintergrund.
OK, aber "Server Error 500" klingt irgendwie nach Fehlkonfiguration. Fehler im Script oder fehlender Import (wobei `cgitb` iirc schon lange dabei sein dürfte).
OK, aber "Server Error 500" klingt irgendwie nach Fehlkonfiguration. Fehler im Script oder fehlender Import (wobei `cgitb` iirc schon lange dabei sein dürfte).
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
500er kommt quasi immer, wenn das Script sich mit einem Fehler (Returncode != 0) verabschiedet, heißt also nur, dass der Fehler nicht abgefangen wurde.Y0Gi hat geschrieben:OK, aber "Server Error 500" klingt irgendwie nach Fehlkonfiguration. Fehler im Script oder fehlender Import (wobei `cgitb` iirc schon lange dabei sein dürfte).
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
OK, was das Script bei "An error occured in a Python script." letztlich für einen Statuscode liefert, habe ich mir nie angesehen. Wenn er jedoch wirklich "500 - Internal Server Error" angezeigt bekommt, klappt da schon was außerhalb der Reichweite des `cgitb`-Moduls nicht.
Ich finde den kompletten Traceback (sofern es sich um Python-Fehler handelt) aussagekräftig genug.
Wenn du darauf keinen Zugriff hast, solltest du dir eine andere Hosting-Umgebung zulegen, auf eine diesbezüglich irgendwie einfacher gestrickte Sprache und Umgebung wie PHP ausweichen, lokal zum Testen entwickeln oder lokal auf Syntaxfehler prüfen und online `cgitb` u.ä. verwenden. Dann geht das auch irgendwie.
Wenn du darauf keinen Zugriff hast, solltest du dir eine andere Hosting-Umgebung zulegen, auf eine diesbezüglich irgendwie einfacher gestrickte Sprache und Umgebung wie PHP ausweichen, lokal zum Testen entwickeln oder lokal auf Syntaxfehler prüfen und online `cgitb` u.ä. verwenden. Dann geht das auch irgendwie.