Python CGI脚本中的意外结束脚本头错误

9 投票
2 回答
11092 浏览
提问于 2025-04-18 03:23

我最近搬到了一个新的虚拟私人服务器(VPS),遇到了一个问题。我想运行一个Python的CGI脚本,但出现了Apache的“脚本头部过早结束”的错误。

(我已经给脚本文件加上了可执行权限)

这个脚本其实很简单:

#!/usr/bin/env python                                      
import cgi, cgitb
cgitb.enable()

print "Content-type: text/html"
print "<html><body>hello scritp</body></html>"

现在如果我把这个脚本命名为test**.py**,它在服务器上运行得很好。但是如果我按照正确的方式,把它命名为test**.cgi**,我就会收到一个内部服务器错误。

我从终端运行这个脚本

./test.cgi

没有任何错误信息

 Content-type: text/html
 <html><body>hello scritp</body></html>

有没有人遇到过这个问题?有什么解决办法吗? :)

2 个回答

1

在HTTP的头部和主体之间,必须至少有一行空行。

所以,

print "Content-type: text/html\n" 这样写是完全没问题的。

参考资料:维基百科

10

把头部改成:

print "Content-type: text/html\n\n"

撰写回答