空间访问权限:游客, 头像访问权限:自己
[登录]后可以浏览更多信息
博客正文
【操作】
让Python在apache下以cgi程序运行

http://www.zzbaike.com/wiki/CGI#ScriptAlias

一、CGI相关知识

配置apache运行cgi程序可分为两种情况:
1、ScriptAlias目录的CGI。在httpd.conf下以ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/指定
2、ScriptAlias以外目录的CGI。

 <Directory /usr/local/apache/htdocs/somedir>
      #显式地允许cgi在此目录下执行
     Options +ExecCGI
     #带有cgi pl的文件是cgi程序
     AddHandler cgi-script cgi pl
     AllowOverride Options
 </Directory>

.htaccess文件
.htaccess指南示范了怎样在没有权限修改httpd.conf文件的情况下激活CGI程序

二、配置历程

1、修改httpd-vhost.conf后执行程序,显示源代码,无法运行,检查httpd.conf,去掉注释

<IfModule mpm_prefork_module>
        #LoadModule cgi_module libexec/apache24/mod_cgi.so
</IfModule>

2、再次执行,得到如下错出错信息:
snap1.jpg

3、查看apache错误日志,发现这样一行

malformed header from script 'test.py': Bad header: a

于是修改pl程序,添加http文件,执行正确

#!/usr/local/bin/python2.7

print "Content-type:text/html\n"
print "a"

注意,输出字符a之前那个\n产生的空行是不可以少的。经测试,perl需要2个空行,PHP需要1个空行才能正确显示

#!/usr/local/bin/perl -w
print "Content-type: text/html\n\n";
print "Hello, World.<br><br>";

foreach $key (keys %ENV) {
        print "$key --> $ENV{$key}<br>";
}

 

 

栏目划分
WEB应用程序 (21)
桌面应用程序 (4)
Windows操作系统 (8)
xNix操作系统 (3)
数据库技术 (3)
多媒体技术 (0)
硬件技术 (2)
办公软件 (1)
以史为鉴 (2)
万博官网manbetx苹果版反思1 (1)
奇闻趣事 (5)
其它 (9)
万博官网manbetx苹果版反思 (3)
电子技术 (2)
中学生科技 (3)
 
主人推荐
音象定位和音箱喇叭的排步
我国高层意向已定:制造大飞机
“运十”悲剧
日尔曼人
细说百越族
宇宙深处的秘密——星云
[强烈推荐]中华56民族FLASH完整珍藏版
一组漂亮的植物