gpt4 book ai didi

python - 为什么在 Tomcat 中使用 Python CGI 时出现空白页面

转载 作者:行者123 更新时间:2023-11-28 22:33:59 26 4
gpt4 key购买 nike

我刚刚开始学习Python CGI,但我连测试最简单的Python CGI程序都没有做到。

我使用 Tomcat 6.0。 web.xml的评论我已经删了并添加了 <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 , 我只得到一个空白页。

这个设置有什么问题?

最佳答案

我在不同的上下文中遇到了同样的问题。基本上,我认为 eryksun 在对问题的评论中解决了 OP 的问题,并提出了以下建议:

可执行参数是否设置为空字符串?

我使用 Tomcat 7.0 进行了所有设置,以便服务器在启动时不会产生任何错误,它允许我从 WEB-INF/cgi 请求 200“OK”响应,但它给出了一个空白的 html页面,就像 OP 指出的那样。

解决方案是将默认参数扩展到 conf/web.xml:

<servlet>
<servlet-name>cgi</servlet-name>
<servlet-class>org.apache.catalina.servlets.CGIServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>cgiPathPrefix</param-name>
<param-value>WEB-INF/cgi</param-value>
</init-param>
**<init-param>
<param-name>executable</param-name>
<param-value>c:\myexact\path\to\perl.exe</param-value>
</init-param>
<init-param>
<param-name>passShellEnvironment </param-name>
<param-value>true</param-value>
</init-param>**
<load-on-startup>5</load-on-startup>

</servlet>

我的补充在上面以粗体 (**) 显示。

基本上关键信息来自eryksun建议的来源:

http://tomcat.apache.org/tomcat-7.0-doc/cgi-howto.html

关于python - 为什么在 Tomcat 中使用 Python CGI 时出现空白页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7040584/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com