【问题标题】:Python CGI Error 500: Premature end of script headersPython CGI 错误 500:脚本头过早结束
【发布时间】: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。大多数编辑都可以让你选择结局。

标签: python cgi


【解决方案1】:

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

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

.
.
.

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

【讨论】:

    猜你喜欢
    • 2014-06-03
    • 2017-07-22
    • 2013-07-09
    • 2012-06-25
    • 2012-04-07
    • 2011-05-19
    • 2021-12-03
    • 2011-03-19
    相关资源
    最近更新 更多