小编jef*_*how的帖子

为什么我的Perl CGI程序返回服务器错误?

我最近学习了cgi,并在vbox中设置了一个Ubuntu服务器.我写的第一个程序是使用vim通过ssh在Python中编写的.然后我在我的Windows 7工作站上安装了Eclipse并创建了完全相同的Perl文件; 只是一个简单的问候世界.

我试过运行它,我得到了500,而同一个目录(/ usr/lib/cgi-bin)中的Python代码显示正常.沮丧,我检查并三重检查权限,它开始于#!/ usr/bin/perl.我还检查了AddHandler是否设置为.pl.一切都设置得很好,一时兴起,我决定使用vim在服务器中编写完全相同的代码,就像我在Python文件中所做的那样.

瞧,它有效.我比较了他们,以为我疯了,他们完全一样.那么,这笔交易是什么?为什么Eclipse中的Windows 7中的文件与使用vim的Ubuntu服务器中生成的文件不同?他们有不同的二进制标题或什么?这确实会影响我的开发环境.

#!/usr/bin/perl
print "Content-type: text/html\n\n";
print "Testing.";
Run Code Online (Sandbox Code Playgroud)

Apache错误日志:

[Tue Aug 07 12:32:02 2012] [error] [client 192.168.1.8] (2)No such file or directory:     exec of '/usr/lib/cgi-bin/test.pl' failed
[Tue Aug 07 12:32:02 2012] [error] [client 192.168.1.8] Premature end of script headers: test.pl
[Tue Aug 07 12:32:02 2012] [error] [client 192.168.1.8] File does not exist: /var/www/favicon.ico
Run Code Online (Sandbox Code Playgroud)

这是我得到的持续错误.

perl cgi apache2 cgi-bin

3
推荐指数
1
解决办法
1773
查看次数

标签 统计

apache2 ×1

cgi ×1

cgi-bin ×1

perl ×1