apache在cgi-bin下为何/usr/local/bin/下的命令突然不能执行

apache在cgi-bin下为何/usr/local/bin/下的命令突然不能执行

#!/usr/bin/perl
use CGI;

use CGI qw(:all);
use CGI::Carp qw(fatalsToBrowser);
print header;
print start_html('UNAFold result');

print "Content-type: text/html\n\n";

my $req = new CGI;
my $textarea = $req->param("typedseq");
print qq(<p>$textarea<p>);
     open (SEQ,">temp.seq");
     print SEQ "$textarea";
     close SEQ;
     system("mfold MAX=1 SEQ='temp.seq'");      #此句为调用/usr/local/bin下的命令  就这条命令失效了,为什么?
     system("cp temp\_1.ct temp\_1.out temp\_1.pdf temp.seq /var/www/html/storage/");  #temp\_1.ct ...为调用mfold后产生的文件
     print qq(<p>the UNAFold result:<p> \t<a href=/storage/temp\_1.pdf>temp\_1.pdf</a><p>);
     print qq( \t<a href=/storage/temp\_1.ct>temp\_1.ct</a><p>);
     print qq( \t<a href=/storage/temp.seq>temp.seq</a><p>);
     print qq( \t<a href=/UNAFold/default_03_02.html>return</a><p>);

print qq($message<P>);
print end_html();
ding
有啥好顶的?
这么简单的问题自己调试调试就知道了,
不是没权限就是$PATH的问题
$PATH和权限应该都没有问题,权限给到最大了, 在/usr/bin/的命令就都可以成功
请在cgi里把$PATH打出来!
/var/www/cgi-bin/


print qq~<br />$ENV{'PATH'}<br />~;
$ENV{PATH}=$ENV{PATH}.":/usr/local/bin";
加这一行吧....
应该是找不到..
建议你改用绝对路径..../usr/local/bin/xxx
我把 print qq~<br />$ENV{'PATH'}<br />~;
加上了结果为
/sbin:/usr/sbin:/bin:/usr/bin
为这个:
/sbin:/usr/sbin:/bin:/usr/bin:/usr/local/bin