【发布时间】:2011-10-09 09:04:27
【问题描述】:
我的 .py 文件在终端中执行正常,但在浏览器中出现此错误
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>500 Internal Server Error</title>
</head><body>
<h1>Internal Server Error</h1>
...
...
这是 .py 文件:
#!/usr/bin/python
import cgi
import cgitb; cgitb.enable()
print "Content-Type: text/html\n\n" # HTML is following
print # blank line, end of headers
print "<TITLE>CGI script output</TITLE>"
print "<H1>This is my first CGI script</H1>"
print "Hello, world!"
我应该将其保存为 .cgi 文件吗?我尝试过同样的错误,我尝试了很多这样的文件,但没有一个工作,我确信 apache 服务器正在工作,因为有其他 .cgi 脚本从同一目录运行而没有问题。
我也试过: #!/usr/local/bin/python & #!/usr/bin/local/python
任何帮助表示赞赏。
编辑 错误日志输出: (2) 没有这样的文件或目录: '.../.../.../test.py' 的执行失败 脚本头过早结束:test.py
【问题讨论】:
-
正确的
#!/usr/bin/env python怎么样?你为什么要使用 CGI?它已被弃用。编辑:如果您必须使用 CGI 来提供脚本,我建议您通过 CGI 提供 WSGI 应用程序。 -
是的,我试过 /env python。 CGI 看起来很容易设置,并且在某种程度上,我已经编写了很多 python 代码
-
WSGI 更加简单,并且易于移植。看看 Flask 或 Bottle 框架。
-
发布相关的 Apache 配置部分和 error.log 行
-
错误日志显示行过早结束?