我正在Ubuntu 10.10(Maverick Meerkat)中工作并在CGI下运行Apache脚本,但是它向我显示以下错误...


[Sat错误没有这样的文件或目录:'/usr/lib/cgi-bin/fst.cgi'的exec失败
[2011年10月22日星期六02:56:45] [错误] [客户端127.0.0.1]脚本头的结尾过早:fst.cgi


我的剧本是

#!/usr/bin/perl
print "Content-type:text/html\n\n";
print "hello world";


我已经设置了文件的权限...

我还在文件apache.conf中添加了以下行:

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

<Directory /usr/lib/cgi-bin/>
   Options +ExecCGI
</Directory>

AddHandler cgi-script .cgi .pl


但它仍然向我显示了相同的错误。我已经做了所有可能的更改,但是没有获得任何成功...

最佳答案

我在/ var / log / apache2 / error_log中遇到了相同的错误。
我终于意识到,Perl脚本是直接从Windows系统(通过Parallels虚拟机)复制的,并且似乎Windows的回车符“ \ r \ n”会导致此错误。

当我使用ASCII模式将Windows中的Perl脚本通过FTP传输到Mac时
自动将“ \ r \ n”转换为“ \ r”,
相同的Perl脚本无需任何修改即可正常工作。

关于apache2 - Apache(2)抛出“没有这样的文件或目录:'/usr/lib/cgi-bin/fst.cgi'的exec失败”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7858987/

10-12 17:12
查看更多