apache中如何调用CGI脚本

参考:

http://www.jdon.com/idea/cgi.htm

http://www.jb51.net/article/49069.htm

在Apache在配置对CGI的支持

LoadModule cgi_module modules/mod_cgi.so

定义CGI的目录(httpd.conf)

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"

#
# "/var/www/cgi-bin" should be changed to whatever your ScriptAliased
# CGI directory exists, if you have that configured.
#
<Directory "/var/www/cgi-bin">
    Options Indexes FollowSymLinks MultiViews +ExecCGI
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>

定义CGI支持的文件后缀

AddHandler cgi-script .cgi .py .sh

编写CGI脚本

注意: 需要添加可执行权限

cd /var/www/cgi-bin
vim list.cgi

#!/usr/bin/env python

print "Content-Type: text/html
"
print "<html><head><title>Books</title></head>"
print "<body>"
print "<h1>Books</h1>"
print "<ul>"

for row in range(10):
    print "<li>%s</li>" % row

print "</ul>"
print "</body></html>"

chmod +x list.cgi

访问测试

# curl  localhost:80/cgi-bin/list.cgi 
<html><head><title>Books</title></head>
<body>
<h1>Books</h1>
<ul>
<li>0</li>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
<li>6</li>
<li>7</li>
<li>8</li>
<li>9</li>
</ul>
</body></html>

自己试的两个:

个人经验:如果在测试过程中遇到服务器500错误,可以把apache日志调出来查看修改

转: http://www.cnblogs.com/ZhangRuoXu/p/6622758.html

相关阅读:

https://blog.csdn.net/sinat_27564919/article/details/72834605

https://www.cnblogs.com/qbyyqhcz/p/3990658.html

原文地址:https://www.cnblogs.com/fps2tao/p/10735730.html