我使用Ubuntu 12.04和Apache2。我的Perl脚本是/usr/lib/cgi-bin
,我试图写一个文件(打开“>”),以/var/www/my_custom_dir
,但我得到:Perl不允许写入文件
权限被拒绝
如果我尝试写剧本的目录或其他任何错误是相同的。权限似乎是正确的。一切都是755,根源所有者。我试图将“my_custom_dir”所有者更改为www-data(apache用户),但没有任何区别。
open (UPLOADFILE, ">$filepath") or die "$!"; binmode UPLOADFILE;
while (<$file>) { print UPLOADFILE $_; } close($file); close UPLOADFILE; }
它“死”在第一行。日志上的错误是“Permission denied at /usr/lib/cgi-bin/script.cgi”
几个小时的应力认为它有一些东西需要与服务器的权限,它发生问题是后在perl中,出于某种原因,我没有idead:open(UPLOADFILE,“> $ filepath”)不起作用,但是:打开UPLOADFILE,“>”,“$ filepath”;确实有效。 – user3518089