DB_File.pm引发以下错误:
AH00094:命令行:'/ usr / sbin / httpd -D FOREGROUND' 在/usr/lib64/perl5/vendor_perl/DB_File.pm的第287行,第4行的子例程条目中,参数“ / home / epri ...”不是数字。 在/usr/lib64/perl5/vendor_perl/DB_File.pm第287行,第4行。
我不确定为什么会这样。
我正在用CentOS7认证我的CGI应用程序。目前,它与CentOS6兼容。在使应用程序与CentOS7兼容的同时,我进行了一些更改,主要是安装缺少的perl模块。
发生错误的子例程如下”。
require Tie::Hash;
sub tie_hash_or_array
{
my (@arg) = @_ ;
my $tieHASH = ( (caller(1))[3] =~ /TIEHASH/ ) ;
use File::Spec;
$arg[1] = File::Spec->rel2abs($arg[1])
if defined $arg[1] ;
$arg[4] = tied %{ $arg[4] }
if @arg >= 5 && ref $arg[4] && $arg[4] =~ /=HASH/ && tied %{ $arg[4] } ;
$arg[2] = O_CREAT()|O_RDWR() if @arg >=3 && ! defined $arg[2];
$arg[3] = 0666 if @arg >=4 && ! defined $arg[3];
# make recno in Berkeley DB version 2 (or better) work like
# recno in version 1.
if ($db_version >= 4 and ! $tieHASH) {
$arg[2] |= O_CREAT();
}
if ($db_version > 1 and defined $arg[4] and $arg[4] =~ /RECNO/ and
$arg[1] and ! -e $arg[1]) {
open(FH, ">$arg[1]") or return undef ;
close FH ;
chmod $arg[3] ? $arg[3] : 0666 , $arg[1] ;
}
DoTie_($tieHASH, @arg) ; # this is the line where i see the error
# isn't numeric in subroutine entry at
}
如果有人将其应用程序从centOS6迁移到CentOS7并遇到类似问题,请告诉我是否有解决方案。