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')