最近perl(今週)から始めました。 クライアントはサーバーにファイルを要求します。サーバーは要求されたデータを含むファイルを作成する必要があります。perl(許可が拒否されました)を使用してファイルを作成できません。
私はファイルを作成しようとしていますが、許可を拒否しています。
今のところこれはコードの一部です。私はインターネットからそれを取り出した。
$filename = 'report.txt';
open($fh, '>', $filename) or $message="Could not open file '$filename' $!";
print $fh "My first report generated by perl\n";
close $fh;
私はこの作業を行うことができます、私は書き込む必要があるデータを続けます。
私はlighttpdを "www-data"ユーザで使用しています。私は数時間それを解決しようとしてきました... さらに、私は "die"の使い方がわからないので、私は$ messageを使用しています。私が "die"を使うと "500 - Internal Server Error"と表示されます。
私はUbuntuの14.04で働いています
スクリプトを実行するユーザーに、そのディレクトリに書き込み権限がありますか?そして、ファイルがすでに存在する場合、ユーザーはそのファイルに対する書き込み権限も持っていますか?たとえば、そのユーザとしてログインし、そのディレクトリに 'cd'を実行した場合、' touch report.txt'を実行すると動作しますか? –
あなたが書くすべてのコードの始めに、 'use strict;'と 'use warnings;'を含めてください。 – bytepusher