Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python cgitb未通过浏览器运行_Python_Internal Server Error - Fatal编程技术网

python cgitb未通过浏览器运行

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中打

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

下面是我正在使用的一个简单代码示例:

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的场景中,这个问题实际上有不同的解决方案。