Perl 在 CGI 中无法正常工作且没有警告

Perl 在 CGI 中无法正常工作且没有警告

由于某种原因,我无法让 perl 脚本在 cgi-bin 文件夹中运行。我没有制作这些文件,我们已将它们上传到另一台服务器,它们运行良好。

但是我使用了以下 test.pl 文件,它可以通过 bash(以 root 身份)和浏览器正常运行。

#!/usr/bin/perl
use strict;
use warnings;

#Useful for testing: Perl error messages, plus your die statements, will get
#sent to the browser.  Otherwise you will just see "Internal Server Error".
use CGI::Carp qw/fatalsToBrowser/;

#Always use the CGI module for your scripts.
use CGI;

#Create simple HTML output (taken directly from CGI documentation).
my $q = CGI->new;                    # create new CGI object
print $q->header,                    # create the HTTP header
      $q->start_html('hello world'), # start the HTML
      $q->h1('hello world'),         # level 1 header
      $q->end_html;                  # end the HTML

正在运行的其他脚本使用完全相同的权限和设置。但是,除非我将顶行从 更改为#!/usr/bin/perl(#!/usr/bin/perl -w带有警告),否则脚本只会显示 500 错误消息。当我不使用 运行它时,错误日志会输出以下错误-w

错误日志:

[Fri Sep 26 12:06:03 2014] [error] [client xxx.xxx.xx.xxx] (2)No such file or directory: exec of '/var/www/html/foldername/cgi-bin/ss000001.pl' failed
[Fri Sep 26 12:06:03 2014] [error] [client xxx.xxx.xx.xxx] Premature end of script headers: ss000001.pl

我应该注意,我可以nano /var/www/html/foldername/cgi-bin/ss000001.pl打开文件并将 perl 更改为-w如上所述的操作。

有人知道我可以从哪里开始或者在这里立即发现任何错误吗?

相关内容