1

我有一个 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');这是怎么回事?

4

1 回答 1

1
chdir('G:/Documents and Settings/Administrator/eworkspace/Sample')
  or die $!;

会告诉你 chdir 是否成功。如果不是,则可能是 Web 服务器用户无权访问指定文件夹。

于 2013-06-14T11:03:55.360 回答