【发布时间】:2013-10-12 15:36:27
【问题描述】:
我对 CGI 和 Apache 完全陌生,但我正在尝试一些东西。首先,我用 C 编写了一个简单的 hello CGI。
#include <stdio.h>
void main() {
printf("Content-type: text/html\n\n");
printf("<html>\n");
printf("<head><title>CGI Output</title></head>\n");
printf("<body>\n");
printf("<h1>Hello, world.</h1>\n") ;
printf("</body>\n");
printf("</html>\n");
}
编译 gcc hello.c -o hello.cgi 并放在 /var/www/mycgi 中
后来我修改了 httpd.conf 以添加以下内容
ScriptAlias /mycgi/ "/var/www/mycgi/"
在 IfModule 中的 alias_module 和
<Directory "/var/www/mycgi">
Options +ExecCGI
AddHandler cgi-script .cgi
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
然后我重新启动了 Apache,当我转到 localhost/mycgi/hello.cgi 时,浏览器只是下载文件而不是运行它。非常感谢您的帮助!
【问题讨论】:
-
文件是否可执行? (
chmod +x hello.cgi) 你加载了cgi_module吗? (LoadModule cgi_module modules/mod_cgi.so)