我似乎無法讓python模塊cgitb在瀏覽器中輸出堆棧跟蹤。我在shell環境中沒有問題。我使用python 2.6運行Centos 6。python cgitb不能通過瀏覽器運行
下面是一個例子簡單的代碼,我使用:
import cgitb; cgitb.enable()
print "Content-type: text/html"
print
print 1/0
我得到一個內部服務器錯誤,而不是打印的詳細報告。我嘗試了不同的錯誤類型,不同的瀏覽器等。
當我沒有錯誤,當然python工作正常。它會在shell中打印錯誤。 cgitb的目的是打印錯誤,而不是在瀏覽器中返回「內部服務器錯誤」以查找大多數錯誤異常。基本上我只是想讓cgitb在瀏覽器環境中工作。
有什麼建議嗎?
OP說,沒有錯誤,腳本運行良好。所以它肯定不是執行CGI的問題。請評論你的答案,以防萬一我弄錯了,因爲我也需要讓這個運行,並且cgitb似乎確實抓住了我的問題並採取行動。 – Chris
讓我不同意你的看法。在shell中,您可以通過在文件名前面傳遞'python'來運行該文件。在CGI中,你必須確保文件本身是可執行的,因爲CGI引擎可能不知道如何運行它。你必須在文件的開頭放置shebang-value。 – baldr
同意。但是我發現答案讓我認爲這是解決問題的正確方法。特別是「正義」。我認爲它應該說「請確保你已經涵蓋了CGI基礎知識」。我意識到,我認爲在OP的情況下,實際上*有*不同的解決方案。 – Chris