在Apache服务器上执行Python CGI脚本的配置方法

Posted downywu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在Apache服务器上执行Python CGI脚本的配置方法相关的知识,希望对你有一定的参考价值。

apache服务器通常不会执行python脚本。需要配置httpd.conf文件,在该文件中,AddHandler的属性中增加.py。
1、httpd.conf设置:
增加两行
AddType text/html .htm .html .py
AddHandler cgi-script .cgi .py

2、py文件首行加安python安装目录
#!C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\python.exe

3、py文件输出规范
 在用Python做hello.py的时候,输出的内容必须服务CGI的标准规范;
 第一行必须输出的是content-type:text/html
 第二行必须是空行(不要放空格等任何字符)
 第三行之后的内容就是浏览器要显示的内容
例如:
print("content-type:text/html")
print("")
print("任何想要显示的内容")

4、按以上配置和修改程序后,可以用浏览器直接访问一个测试的.py程序,看看能否显示print的结果。
测试文件内容如下:
#!C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python37\\python.exe
print("Content-type:text/html")
print()
print("<html>")
print("<head>")
print("<title>123</title>")
print("</head>")
print("<body>")
print("<h2>Hello World!</h2>")
print("</body>")
print("</html>")

5、如有问题不能显示可以查看error.log文件(apache目录下的log目录下)
在这个error.log文件中记录了使用过程中出现的错误具体情况,包括:python语句哪行报错信息。

6、python接收form数据
import cgi, cgitb
# 创建 FieldStorage 的实例化
form = cgi.FieldStorage()
# 获取数据get
site_name = form.getvalue(\'fname\')
site_url = form.getvalue(\'lname\')

以上是关于在Apache服务器上执行Python CGI脚本的配置方法的主要内容,如果未能解决你的问题,请参考以下文章

Apache服务器中的Python Cgi脚本

如何在 apache Web 服务器上运行 cgi 脚本

Apache-通过CGI执行脚本

python3.x搭建简单CGI服务器时cgi-bin下的脚本无法被解释执行

在 Apache 2.4 Web 服务器上运行 Python 3 脚本

python [用于测试apache的python CGI脚本正在工作] #cgi #python #apache