我有一个CGI perl脚本,它首先chdir
到指定位置,然后运行命令(此命令仅在此指定目录中运行,因为它使用此目录中的输入文件build.xml,如果我们尝试在任何其他位置运行此命令,则会引发错误" Build failed Buildfile: build.xml does not exist!
")。如果我在cmd中执行这个perl脚本,脚本运行正常。但是在浏览器中不起作用,它会抛出同样的错误
" Build failed Buildfile: build.xml does not exist!
"怎么会发生这种情况?有人可以帮我解决这个问题。
这是代码
#!/usr/local/bin/perl - w
use strict;
use CGI ':standard';
print header;
print start_html("welcome");
print "<h1>welcome</h1>\n";
print_prompt();
print end_html;
sub print_prompt {
print start_form;
print "<em>welcome</em><br>";
chdir('G:\\Documents and Settings/Administrator/eworkspace/Sample');
print `ant`;
}
使用cwd我发现我的目录没有被chdir('G:\\Documents and Settings/Administrator/eworkspace/Sample');
更改,那是怎么回事?
答案 0 :(得分:1)
chdir('G:/Documents and Settings/Administrator/eworkspace/Sample')
or die $!;
会告诉你chdir是否成功。如果不是,则可能是Web服务器用户无权访问指定的文件夹。