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

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:paxil No.1

回答回数375ベストアンサー獲得回数2

ポイント10pt

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

id:double2you

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

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

回答回数73ベストアンサー獲得回数0

ポイント30pt

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


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

id:double2you

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

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

回答回数73ベストアンサー獲得回数0

ポイント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

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

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

トラックバック

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

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

回答リクエストを送信したユーザーはいません