Python CGI错误500:脚本头过早结束
我尝试运行这个相当复杂的python脚本,它导入了其他自写模块和类似sqlite的东西。当我运行脚本时,我得到一个500:internalserver错误,日志显示:脚本头过早结束 我知道这意味着我可能没有正确放置/键入标题,但我相信我有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 看起
#!/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
。大多数编辑器都能让你选择结尾。