gpt4 book ai didi

python - 使用python for CGI的问题

转载 作者:行者123 更新时间:2023-12-03 08:12:17 25 4
gpt4 key购买 nike

由于某些原因,我必须在我的python cgi脚本中使用分号。此外,它无法识别if语句的常用语法。

例如,这有效:

#! /usr/bin/python

print "Content-type: text/html\n\n";
print "<html>Hello World!</html>";

但这不起作用:
#! /usr/bin/python

print "Content-type: text/html\n\n"
print "<html>Hello World!</html>"

这不起作用:
#! /usr/bin/python

print "Content-type: text/html\n\n";
if True:
print "<html>Hello World!</html>";

我从最后两个示例中收到500个内部服务器错误。我的apache错误日志显示文件中存在语法问题。我在OSX上的Apache2上运行。任何帮助是极大的赞赏!

编辑:显然,这不是作为python脚本处理的。我想我可能已经找到了问题,但是我不确定如何解决。在我的httpd.conf中,我在末尾附加了以下几行,我认为这是问题所在:
<Location /cgi-bin>
SetHandler perl-script
PerlResponseHandler ModPerl::Registry
Options ExecCGI
PerlSendHeader On
Order allow,deny
Allow from all
</Location>

我有这些行,以便我的cgi-bin中的其他一些cgi脚本与mod_perl一起运行。如果需要更改,它将是什么样子,以便perl cgi文件仍将在mod_perl下运行,而python cgi文件将作为python运行?为了清楚起见或在某些情况下很重要,我的cgi-bin中的perl文件具有.cgi文件扩展名,但是我尝试使用的python cgi文件具有.py文件扩展名。

最佳答案

您的apache配置已明确设置为以Perl的形式运行cgi-bin目录中的内容-
这是因为您的语法是“奇怪的”-仅在它是perl程序时才起作用。

;结尾的独立打印语句适用于Python 2.x和perl。

http://httpd.apache.org/docs/2.2/howto/cgi.html中,这就是您所需要的
使您的CGI正常工作,而无需执行perl来处理它们:

<Directory /cgi-bin>
Options ExecCGI
SetHandler cgi-script
</Directory>

关于python - 使用python for CGI的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11854640/

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