我使用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