python cgitb未通过浏览器运行
我似乎无法让python模块在浏览器中输出堆栈跟踪。我在shell环境中没有问题。我正在用python 2.6运行Centos 6 下面是我正在使用的一个简单代码示例:python cgitb未通过浏览器运行,python,internal-server-error,Python,Internal Server Error,我似乎无法让python模块在浏览器中输出堆栈跟踪。我在shell环境中没有问题。我正在用python 2.6运行Centos 6 下面是我正在使用的一个简单代码示例: import cgitb; cgitb.enable() print "Content-type: text/html" print print 1/0 我得到的是一个内部服务器错误,而不是打印的详细报告。我尝试过不同的错误类型、不同的浏览器等等 当我没有错误时,python当然可以正常工作。它将在shell fine中打
import cgitb; cgitb.enable()
print "Content-type: text/html"
print
print 1/0
我得到的是一个内部服务器错误,而不是打印的详细报告。我尝试过不同的错误类型、不同的浏览器等等
当我没有错误时,python当然可以正常工作。它将在shell fine中打印错误。对于大多数错误异常,其要点是打印错误,而不是在浏览器中返回“内部服务器错误”。基本上我只是想在浏览器环境下工作
有什么建议吗?我将引用以下内容:
确保你的脚本是可读的,并且可由“其他人”执行;Unix文件模式应为0755
octal(使用chmod 0755文件名
)
确保脚本的第一行包含#代码>从第1列开始,后跟Python解释器的路径名,例如:
#/usr/local/bin/python
好的,我的问题已经解决了,OP把我带到这里:即使cgitb默认会输出HTML,它也不会输出标题!Apache不喜欢这样,可能会给您一些愚蠢的错误,比如:
:Response header name”OP说,没有错误,脚本运行正常。因此,执行CGI肯定不是问题。如果我弄错了,请评论一下你的答案,因为我也需要运行这个程序,而cgitb似乎抓住了我的问题并采取了行动。我不同意你的看法。在shell中,您可以通过在文件名前面传递python
来运行该文件。在CGI中,您必须确保文件本身是可执行的,因为CGI引擎可能不知道如何运行它。你必须把shebang值放在文件的开头。同意。然而,我发现答案让我认为这是解决问题的正确且唯一的方法。尤其是“正义”。我认为应该说“请确保你已经涵盖了CGI的基本知识”。我意识到,我假设在OP的场景中,这个问题实际上有不同的解决方案。