Nie mogę uzyskać modułu pythonowego cgitb, aby wyprowadzić ślad stosu w przeglądarce. Nie mam żadnych problemów w środowisku powłoki. Używam Centos 6 z pythonem 2.6.python cgitb nie działa przez przeglądarkę
Oto przykład prosty kod, który używam:
import cgitb; cgitb.enable()
print "Content-type: text/html"
print
print 1/0
pojawia się błąd wewnętrzny serwer zamiast wydrukowany szczegółowy raport. Próbowałem różnych typów błędów, różnych przeglądarek itp.
Kiedy nie mam błędu, oczywiście python działa dobrze. Wydrukuje błąd w drobnej powłoce. Punkt cgitb polega na wydrukowaniu błędu zamiast zwrócenia "Wewnętrznego błędu serwera" w przeglądarce dla większości wyjątków błędów. Zasadniczo próbuję uzyskać cgitb do pracy w środowisku przeglądarki.
Wszelkie sugestie?
OP powiedział, że bez błędu skrypt działa poprawnie. więc z pewnością nie jest to problem z wykonywaniem CGI. Proszę, skomentuj swoją odpowiedź na wypadek, gdy źle to zrobię, ponieważ ja też muszę to uruchomić, a cgitb po prostu łapie i działa na mój problem. – Chris
Nie zgadzam się z tobą. W powłoce możesz uruchomić plik, przekazując 'python' przed nazwą pliku. W CGI musisz upewnić się, że sam plik jest wykonywalny, ponieważ silnik CGI może nie wiedzieć, jak go uruchomić. Musisz umieścić wartość Shebang na początku pliku. – baldr
Uzgodnione. Jednak uważam, że odpowiedź sprawia, że myślę, że jest to poprawne i jedyne rozwiązanie problemu. Zwłaszcza "po prostu". Myślę, że powinno to brzmieć "Upewnij się, że masz podstawową wiedzę o CGI". Zdaję sobie sprawę, że zakładam, że faktycznie * istnieją * różne rozwiązania tego problemu w scenariuszu PO. – Chris