【发布时间】:2013-02-05 03:47:40
【问题描述】:
我刚开始学习 Python CGI,但我连测试最简单的 Python CGI 程序都没有。
我使用的是 Tomcat 6.0。我已经删除了web.xml 中的cmets,还添加了<Context privileged="true">。在web.xml 中,我将“cgiPathPrefix”的值设为“cgi-bin”,并将此cgi-bin 文件夹添加到webapps/ROOT 目录中。
cgi 程序很简单;如下同名test.cgi:
#!/usr/bin/python
print("Content-type: text/html")
print()
print("<title>CGI 101</title>")
print("<h1>A First CGI Example</h1>")
print("<P>Hello, CGI World!</p>")
当我转到http://localhost:8080/cgi-bin/test.cgi 时,我只是得到一个空白页。
这个设置有什么问题?
【问题讨论】:
-
如果你看空白页源码,里面有什么吗?
-
-
这并不能回答你的问题,但是:cgi 是一种古老的概念。我建议你使用 mod_wsgi - 这是运行 python 应用程序的“现代方式”。
-
当我检查日志时,我发现: INFO: cgi: runCGI (stderr):Execution of C:\Tomcat 6.0\webapps\ROOT\cgi-bin\test.cgi 由于编译错误而中止. 2011 年 8 月 12 日上午 10:41:21 org.apache.catalina.core.ApplicationContext 日志信息:cgi: runCGI (stderr):syntax error at C:\Tomcat 6.0\webapps\ROOT\cgi-bin\test.cgi 行2、靠近")
-
我使用 Python3。而且我试过用print,也是一样。