在windows下配置apache以cg
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
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341