我有一个小的Perl脚本来拨打号码。每当我手动执行它,它都能正常工作。另一方面,当我通过Web浏览器执行时,它会抛出错误。
#!/usr/bin/perl -w
#perl1.pl
use strict;
use CGI;
my $cgi = new CGI;
use CGI::Carp qw(fatalsToBrowser);
my $context="Test";
print $cgi->header();
print $cgi->start_html('Asterisk Caller');
print '<center><p>call</p>';
$dest_nmbr =~ s/ //g; # delete the space in number
open FH, ">/var/spool/asterisk/outgoing/meeting_user$$.call" or print "<h2>error: $!<\/h2>";
print FH "Channel: GSM/1/xxxxxxxxx\n";
print FH "Callerid: 4006\n";
print FH "RetryTime: 60\n";
print FH "WaitTime: 30\n";
print FH "Context: $context\n";
print FH "Extension: s\n";
close FH;
print "<p><b>$dest_nmbr<\/b> über <b>$src_nmbr<\/b><\/p>";
我有代码使用Ajax中的Get Function来拨打Perl脚本。
if(ajaxRequest != null)
{
ajaxRequest.open("GET", "-e dial1.pl" + queryString , true);
ajaxRequest.onreadystatechange = handler;
//console.log(queryObj.fund);
ajaxRequest.send(null);
}
else
{
window.console.log("AJAX (XMLHTTP) not supported.");
}
}
我面临的错误是
[Mon Nov 17 04:26:52 2014] [error] slurp_filename('/var/www/perl/-e dial1.pl') / opening: (2) No such file or directory at /usr/lib64/perl5/vendor_perl/ModPerl/RegistryCooker.pm line 541
如果我做错了,请告诉我,我会很感激你的建议。