前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在windows下配置apache以cg

在windows下配置apache以cg

作者头像
py3study
发布2020-01-10 17:09:28
6750
发布2020-01-10 17:09:28
举报
文章被收录于专栏:python3python3

Apache配置

在httpd.conf中查找DocumentRoot:

允许目录可以执行cgi:

DocumentRoot  "D:\WWW"
<Directory />
    Options Indexes FollowSymLinks MultiViews ExecCGI
    AllowOverride All
    Order allow,deny
    Allow from all
    Require all granted
</Directory>

只允许在特别目录下执行cgi程序:

ScriptAlias /cgi-bin/ "D:/Program/phpStudy/Apache/cgi-bin/"

让apache识别py文件为cgi程序:

AddHandler cgi-script .cgi .py

 以上就配置完成了apache。

但是,有时候我们可能会遇到:

     > > [Sat Apr 01 13:30:03 2006] [error] [client 127.0.0.1] C:/Program      > > Files/Apache Group/Apache2/cgi-bin/test.py is not executable; ensure      > > interpreted scripts have "#!" first line      > > [Sat Apr 01 13:30:03 2006] [error] [client 127.0.0.1] (9)Bad file      > > descriptor: don't know how to spawn child process: C:/Program Files/Apache      > > Group/Apache2/cgi-bin/test.py

     这个时候可以尝试在配置文件结尾添加:'ScriptInterpreterSource Registry'

下面开始写个例子程序:

     test.py

     #!D:\Program\Python27\python.exe
     print "Content-type: text/html"     
     print     
     print "<h1>hello,world!</h1>"

     写cgi程序要注意,

  第一:#!前面不能有空格,后面紧跟解释程序;

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

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

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

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

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

运行http://127.0.0.1/cgi-bin/test.py

wKiom1Quy5SSlXgHAAAj9TfcTKs924.jpg
wKiom1Quy5SSlXgHAAAj9TfcTKs924.jpg
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-08-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档