为什么我的Perl CGI脚本出现500内部服务器错误?

时间:2014-03-27 22:33:10

标签: perl cgi cpanel

我使用的是perl 5.10.1,而perl的路径是/usr/bin/perl

我已将文件编码为755,我收到内部服务器错误:

#!/usr/bin/perl
use strict;

print "Content-type: text/plain\n\n";
print "huh";

代码很简单,我不知道造成这种情况的原因。我也在运行一个用Perl编码的论坛软件,它工作正常并使用相同的路径。

编辑:感谢大家的帮助,我创建了另一个文件夹并在那里添加了一个cgi-bin并尝试了脚本,它可以工作。我仍然不知道为什么它不会在第一个文件夹中工作,芽在第一个文件夹中编辑我的.htaccess文件可能是问题。

1 个答案:

答案 0 :(得分:3)

请注意,拼写正确为Content-Type

缓冲可能有问题(输出量很小,最后没有换行等等......)这让我很怀疑。这是我尝试的最小脚本:

#!/usr/bin/perl

use strict;
use CGI qw(:standard);

local $| = 1;

print header('text/plain'), "huh\n";

您是否将文件从Windows PC FTP到Unix系统?如果您以二进制模式传输文件,则shebang行将不正确。

例如:

$ unix2dos t.pl
unix2dos: converting file t.pl to DOS format ...
$ xxd t.pl
0000000: 2321 2f75 7372 2f62 696e 2f70 6572 6c0d  #!/usr/bin/perl.
0000010: 0a0d 0a70 7269 6e74 2022 4041 5247 565c  ...print "@ARGV\
0000020: 6e22 3b0d 0a                             n";..
$ ./t.pl hello world
zsh: ./t.pl: bad interpreter: /usr/bin/perl^M: no such file or directory
相关问题