Perl CGI脚本从cmd工作,但不是从浏览器



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

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

将告诉您chdir是否成功。如果不是,则可能是web服务器用户无法访问指定的文件夹。

相关内容

最新更新