【发布时间】:2012-06-09 17:28:04
【问题描述】:
我有这个相当复杂的 python 脚本我试图运行它导入其他自写模块和诸如 sqlite 之类的东西。当我去运行脚本时,我得到一个 500: internal server error 并且日志显示:Premature end of script headers。
我知道这意味着我的标题可能没有正确放置/键入,但我相信我这样做了。
#!/usr/bin/env python
import cgi
import cgitb; cgitb.enable(logdir=..., format="text")
print "Content-type: text/html"
print
看起来不错,对吧?
我继续编写脚本并在最后打印结果。所有其他模块都没有标题或 hashbang,但我认为这很好。
可能是什么问题?
【问题讨论】:
-
如果从命令行运行脚本会发生什么:
python my_script.cgi -
@ms4py 当我使用我使用的 ide 运行脚本时,我得到了想要的输出。
-
有脚本可执行权限吗?
chmod +x my_script.cgi -
如果您是在 Windows 下开发,请确保文件以 Unix 行结尾
\n保存。是一个简单的 CGI 脚本有效还是每个 CGI 脚本都失败了? -
如前所述before 脚本的行尾必须是unix 样式
\n而不是Windows 结尾\r\n。大多数编辑都可以让你选择结局。