我正在尝试使用Apache服务器将python脚本作为cgi运行。 我的脚本看起来像这样:
#!/usr/bin/python import cgi if __name__ == "__main__": print("Content-type: text/html") print("<HTML>") print("<HEAD>")
我在httpd.conf中完成了必要的configuration(在我看来):
<Directory "/opt/lampp/htdocs/xampp/python"> Options +ExecCGI AddHandler cgi-script .cgi .py Order allow,deny Allow from all </Directory>
我用chmod设置了脚本的执行权限
但是,当我尝试通过本地访问脚本时,我得到一个错误500:在标题之前的脚本输出结束:script.py可能是什么问题? 该脚本是在一个类似Unix的环境中创build的,所以我认为clrf vs lf的问题不成立。 非常感谢。
我想你以后错过了一个打印声明
print("Content-type: text/html")
CGI脚本的输出应由两部分组成,用空行分隔。 第一部分包含许多标题,告诉客户跟随什么样的数据。
第二部分通常是HTML,它允许客户端软件显示带有标题,内嵌图像等的格式良好的文本。
它可能看起来像
#!/usr/bin/env python print "Content-Type: text/html" print print """ <TITLE>CGI script ! Python</TITLE> <H1>This is my first CGI script</H1> Hello, world! """
有关更多信息,请访问python-cgi
对于python3
#!/usr/bin/env python3 print("Content-Type: text/html") print() print (""" <TITLE>CGI script ! Python</TITLE> <H1>This is my first CGI script</H1> Hello, world! """ )