0

次のような Perl コードを使用して、CGI スクリプトにいくつかのログを追加したいと考えています。

open(LOG, ">/path/to/my.log") or die;
print LOG "Some content...\n";
close(LOG);

ただし、スクリプトがリクエストを正しく処理している間、ログがログ ファイルに書き込まれることはありません。

私は Apache、CGI、Perl にはあまり詳しくありません。

4

2 に答える 2

2

おそらく許可の問題です。スクリプトの実行者 (おそらくユーザー: apachehttpdまたはnobody) には、ファイルへの書き込み権限がありません。ただし、確かに、何が含まれているかを確認する必要があり$!ます。ErrorLogまた、スクリプトの実行時にApache のファイルをチェックしてみてください。

私はあなたのコードを次のように書き直します:

use CGI::Carp qw( croak );

open my $log, '>', '/path/to/my.log' or croak "Error opening file: $!";
print $log "Some content...\n";
close $log;
于 2012-08-31T07:58:30.140 に答える