自宅のwwwサーバでCGIを動かしています。ログを取ろうと「open(LOG, ”>>$filename”)」でファイルを作成しようとするのですがファイルを作ってくれません。パーミッションを777にしてもだめです。なぜだか分かる方教えてください。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2005/10/08 20:41:32
  • 終了:--

回答(3件)

id:paxil No.1

paxil回答回数375ベストアンサー獲得回数22005/10/08 23:24:01

ポイント10pt

ディレクトリのパーミッションの設定は適切ですか?

id:double2you

ディレクトリも777にしてあります。

2005/10/09 03:22:23
id:peppon No.2

peppon回答回数73ベストアンサー獲得回数02005/10/09 02:00:16

ポイント30pt

自宅サーバであればエラーログをおそらく出してくれていると思います。そのログを見ましょう。 原因が書いてあります。そのログをここに書いた方が早く回答が得られると思います。


それと何が駄目なのか原因を探しましょう。CGIでエラーが出て駄目なのか、エラーは出ないがログを出力できないのか、perlのプログラムの組み方が悪いのかどうかとか。

id:double2you

httpdなどのログを見ましたがそれらしいログありませんでした。httpd以外に吐かれるんでしょうか?

2005/10/10 11:38:55
id:peppon No.3

peppon回答回数73ベストアンサー獲得回数02005/10/10 22:51:40

ポイント30pt

それらしいエラーが無いとの事ですが、なんらかの記録は残っていないでしょうか。また違うエラーログ等をみていないでしょうか。

アクセスした時間とサーバーのエラーログの時間を調べてみてその時のアクセスログ、エラーログを見てみましょう。


それとプログラムはそのopenを実行していますか?

open文の直前になんらかのperlコードを入力し入れた行が実行されているか見てみましょう。


またwwwサーバがapacheでsuexecにて実行していますか?

suexecの場合suexec_logを見てみてください。

suexecの場合CGIディレクトリやCGIのパーミッションが多ければエラーを出す様になっています。


またプログラムが正しく動作するか見てみてください。

CGIを別ファイルで同じディレクトリに作り、よくあるサイトにのっているサンプルコード(open)をしてファイルが書き出せるか見てみてください。

id:double2you

あれ?急に動作するようになってしまいました。

いまやったほはcgi-binまで777にしてみたぐらいなのですが、元に戻しても動作し続けています。なんででしょう?

ん〜、とりあえず動いたので解決とさせていただきます。

2005/10/11 18:13:05

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません