我似乎不能让python模块cgitb在浏览器中输出堆栈跟踪。我在shell环境中没有任何问题。我使用的是Centos 6和python 2.6。
下面是我正在使用的简单代码示例:
import cgitb; cgitb.enable()
print "Content-type: text/html"
print
print 1/0我收到内部服务器错误,而不是打印的详细报告。我尝试过不同的错误类型,不同的浏览器,等等。
当我没有错误的时候,python当然可以正常工作。它将在shell中很好地打印错误。对于大多数错误异常,cgitb的目的是打印错误,而不是在浏览器中返回“内部服务器错误”。基本上,我只是想让cgitb在浏览器环境中工作。
有什么建议吗?
发布于 2017-11-15 18:33:41
好了,我解决了我的问题,OP把我带到了这个问题上:即使cgitb默认输出HTML,它也不会输出标题!Apache不喜欢这样,可能会给你一些愚蠢的错误,比如:
<...blablabla>: Response header name '<!--' contains invalid characters, aborting request
这表明,当Apache已经遇到一些HTML时,它仍在以自己的方式处理这些头文件。在触发错误之前,请查看OP打印的内容。这是一个头文件,你需要它。包括空行。
发布于 2015-06-06 15:15:06
我只引用docs的话
确保您的脚本可由“others”读取和执行;Unix文件模式应为
0755八进制(使用chmod 0755 filename)。
确保脚本的第一行包含从第一列开始的#!,后跟Python解释器的路径名,例如:
#!/usr/local/bin/python
https://stackoverflow.com/questions/19150013
复制相似问题