python cgitb无法通过浏览器运行

时间:2013-10-03 02:56:28

标签: python internal-server-error

我似乎无法让python模块cgitb在浏览器中输出堆栈跟踪。我在shell环境中没有问题。我用python 2.6运行Centos 6。

以下是我正在使用的示例简单代码:

import cgitb; cgitb.enable()

print "Content-type: text/html"
print

print 1/0

我收到内部服务器错误而不是打印的详细报告。我尝试过不同的错误类型,不同的浏览器等。

当我没有错误时,当然python工作正常。它将在shell中打印错误。 cgitb的要点是打印错误,而不是在浏览器中返回“内部服务器错误”以查找大多数错误异常。基本上我只是想让cgitb在浏览器环境中工作。

任何建议?

2 个答案:

答案 0 :(得分:2)

好的,我解决了我的问题并且OP把我带到了它:即使cgitb默认会输出HTML,它也不会输出标题! Apache不喜欢这样,可能会给你一些愚蠢的错误,如:

<...blablabla>: Response header name '<!--' contains invalid characters, aborting request

它表明,当Apache遇到一些HTML时,它仍然在通过标题工作。查看在触发错误之前OP打印的内容。这是一个标题,你需要它。包括空行。

答案 1 :(得分:-1)

我将引用docs

  

确保您的脚本可由“其他人”阅读并执行; Unix文件模式应为0755八进制(使用chmod 0755 filename)。

     

确保脚本的第一行包含{1}},从第1列开始,后跟Python解释器的路径名,例如:

     

#!