我正在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/