Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 无法通过perl CGI移动文件_Apache_Perl_Unix - Fatal编程技术网

Apache 无法通过perl CGI移动文件

Apache 无法通过perl CGI移动文件,apache,perl,unix,Apache,Perl,Unix,我有一个将文件从一个文件夹移动到另一个文件夹的perl脚本。当我手动运行时,它工作正常。但当我从浏览器执行它时,我无法执行。正在获取错误消息 我知道这与CGI环境访问权有关。但是如何将该权限添加到我的perl脚本中。我已经对该文件和文件夹授予了777权限,但仍然不能。请给我一些建议 提前谢谢 这是我的密码 #!/usr/bin/perl use strict; use warnings; use CGI; use File::Copy; print "Content-type: applica

我有一个将文件从一个文件夹移动到另一个文件夹的perl脚本。当我手动运行时,它工作正常。但当我从浏览器执行它时,我无法执行。正在获取错误消息

我知道这与CGI环境访问权有关。但是如何将该权限添加到我的perl脚本中。我已经对该文件和文件夹授予了777权限,但仍然不能。请给我一些建议

提前谢谢

这是我的密码

#!/usr/bin/perl
use strict;
use warnings;
use CGI;
use File::Copy;

print "Content-type: application/json\n\n";
my $query = new CGI;
my $name = $query->param('name');
#$name = "WVID21WAAA110200";

my $sdir = "/disk1/advisories/input/unread";
my $tdir = "/disk1/advisories/input/read";
my $file = $sdir."/".$name;
my $tfile = $tdir."/".$name;
my $f = 0;

print "[";
if (-e $file && -f $file)
{
        move($file,$tfile) or $f=1;
        if(($f==1)){
        print "{\"status\":\"failed\",\"message\":\"Access Denied\"}";
        }else{
        print "{\"status\":\"success\",\"message\":\"File moved\"}";
        }
}else{
        print "{\"status\":\"failed\",\"message\":\"Invalid file\"}";
}

print"]";
exit 0;

这是因为目标路径文件夹没有执行权限。我补充道,现在一切正常Rajesh

查看您的http服务器错误日志文件。从
move
命令到
stderr
的任何输出?(如果您记录了…)谢谢@arkascha,这是因为目标路径文件夹没有执行权限。我加了一句,现在很好用。非常感谢。我在第一条评论中提到了目标文件夹权限:-),但再一次:您确实应该注意将权限集限制为实际需要的权限。不要让文件在全球范围内都可写,尤其是在web环境中。但很高兴你解决了你的问题!如果你有一个解决方案,你应该把它作为一个答案。在这种情况下,不仅允许自答,而且鼓励自答。“获取错误消息”。在这种情况下,在问题中包含错误消息将非常有帮助。