windows+phpstudy(apache) 以cgi方式支持python(2)

如果我的上一篇博客你感觉有些不太懂,没有整明白,接下来的这个配置操作会很简单,步骤也相比上一篇博客少很多。好了开始我们配置吧。
上一篇博客链接:windows+phpstudy(apache) 以cgi方式支持python
**1、 首先我们编写一个python脚本。这个跟上一篇python脚本有些不一样,代码如下,编写完成后将其放入Apache对应的cgi-bin目录,我的目录在:F:\Application\PHPstudy\Apache\cgi-bin
**

#!python
#coding:utf-8
print ("Content-type:text/html")
print ()                             # 空行,告诉服务器结束头部
print ('<html>')
print ('<head>')
print ('<meta charset="utf-8">')
print ('<title>Hello Word - 一花一世界!</title>')
print ('</head>')
print ('<body>')
print ('<h2>Hello Word! 一花一世界,一叶一菩提!</h2>')
print ('</body>')
print ('</html>')

2、 接下来我们配置Apache的httpd.conf文件。建议提前复制一份出来,以免配置出错造成Apache服务器重启不起来。
首先通过搜索找到AddType ;将其前面的#去除(#起注释的作用),并在后面加上.py

AddType text/html .htm .html .py

通过搜索找到AddHandler ,按如下配置

AddHandler cgi-script .cgi .py 

通过搜索找到ScriptAlias ,按如下配置,记得将其前面的#去除

ScriptAlias /cgi-bin/ "F:/Application/PHPstudy/Apache/cgi-bin/"

接下来就是查找我们AddDefaultCharset,如果不存在,就新建一个,不要在闭合标签里写,下面这个就是一个闭合标签。
在这里插入图片描述

AddDefaultCharset gbk

重启服务器,运行成功无乱码现象
在这里插入图片描述
编写cgi注意事项:

第一:#!前面不能有空格,后面紧跟解释程序(python.exe的路径);

第二,python等解释程序的目录是否正确;

第三,作为http协议的要求,一定要输出http headers;

第四,在存在http headers的前提下,一定要在headers后面打印一个空行,否则服务器会报错;

第五,把错误的程序在python的idle中执行一下,验证正确性;

最后,实在搞不定的情况下,百度 + 查看apache的logs文件夹下的error.log文件,来确定问题。

感谢你的阅读,希望对你问题的解决有所帮助。如有疑问或不清楚的地方,欢迎评论。共同进步,加油。
强烈建议你查阅一下我写的上一篇博客,里面标注了各种详细配置:

https://blog.csdn.net/qq_37288262/article/details/106501718
在这里插入图片描述

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐