Python CGI错误500:脚本头过早结束

Python CGI错误500:脚本头过早结束,python,cgi,Python,Cgi,我尝试运行这个相当复杂的python脚本,它导入了其他自写模块和类似sqlite的东西。当我运行脚本时,我得到一个500:internalserver错误,日志显示:脚本头过早结束 我知道这意味着我可能没有正确放置/键入标题,但我相信我有 #!/usr/bin/env python import cgi import cgitb; cgitb.enable(logdir=..., format="text") print "Content-type: text/html" print 看起

我尝试运行这个相当复杂的python脚本,它导入了其他自写模块和类似sqlite的东西。当我运行脚本时,我得到一个500:internalserver错误,日志显示:脚本头过早结束

我知道这意味着我可能没有正确放置/键入标题,但我相信我有

#!/usr/bin/env python

import cgi
import cgitb; cgitb.enable(logdir=..., format="text")

print "Content-type: text/html"
print
看起来不错,对吧

我继续脚本,并在最后打印结果。所有其他模块都没有标题或hashbang,但我认为这很好


可能是什么问题?

我也有同样的问题。这就解决了它:

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

.
.
.

print "Content-Type: text/plain;charset=utf-8"
print

我也有同样的问题。这就解决了它:

#!/usr/bin/env python
# -*- coding: UTF-8 -*-

.
.
.

print "Content-Type: text/plain;charset=utf-8"
print

如果从命令行运行脚本会发生什么情况:
python my_script.cgi
@ms4py当我使用我使用的ide运行脚本时,我会得到想要的输出。脚本是否具有可执行权限
chmod+x my_script.cgi
如果您在Windows下开发,请确保该文件以Unix行结尾保存
\n
。一个简单的CGI脚本有效还是每个CGI脚本都失败了?正如前面所说的,脚本的行尾必须是unix样式的
\n
,而不是Windows样式的
\r\n
。大多数编辑器都可以让您选择结尾。如果您从命令行运行脚本会发生什么情况:
python my_script.cgi
@ms4py当我使用ide运行脚本时,我会得到想要的输出。脚本是否具有可执行权限
chmod+x my_script.cgi
如果您在Windows下开发,请确保该文件以Unix行结尾保存
\n
。一个简单的CGI脚本有效还是每个CGI脚本都失败了?正如前面所说的,脚本的行尾必须是unix样式的
\n
,而不是Windows样式的
\r\n
。大多数编辑器都能让你选择结尾。