【发布时间】:2011-09-24 22:32:30
【问题描述】:
你可能太容易回答了。 我的问题是关于 cgi 和 apache 网络服务器。 简单点,我有一个 html“form.html”,其中包含一个表单。要访问它,请在浏览器中输入“127.0.0.1/form.html”。 在这个html文件中点击“提交”后,地址应该是“127.0.0.1\cgi-bin\cginame.cgi”,“cginame.cgi”的内容如下:
#!/bin/bash
if [ $REQUEST_METHOD="GET" ]
then
data=$QUERY_STRING
else
data='cat'
fi
java mortcal $data
“mortcal”是一个java程序,计算并返回一个包含结果的HTML页面给用户。 我正在使用 apache 2.2 和 ubuntu 10.04。 问题是当我点击“form.html”中的“提交”按钮时,我在错误日志中得到了这些:
[Sat Sep 24 15:00:20 2011] [error] (2)No such file or directory: exec of '/usr/lib/cgi-bin/mortcgi.cgi' failed
[Sat Sep 24 15:00:20 2011] [error] [client 127.0.0.1] Premature end of script headers: mortcgi.cgi
我知道这是因为 apache 找不到 "/bin/bash" 来执行 cgi 文件。但我确实有“/bin/bash”。 太奇怪了。请帮帮我。提前谢谢你。
【问题讨论】:
-
请将您的 CGI 脚本更改为简单的“echo Hello world”。让我们缩小问题范围。