アプリ版:「スタンプのみでお礼する」機能のリリースについて

CGIのことでお聞きしたいんですが、
フリーのCGIスクリプトをカスタマイズし、
HPに載せようとしたんですが、
エラーがでます。
カウンターなのですが、そこには
(NO log file)と表示されます。
アクセス権もしっかり設定したのだが、
何がおかしいんでしょう?
おそらく、予想では以下の設定がわからないからと思っています。
$log_d= ".";  # ログ生成ディレクトリ(絶対・相対パスで 最後の / は省く)
これは、どうゆうふうに書いたらいいのでしょう。

A 回答 (4件)

う~ん。

もらってきたCGIスクリプトならばそのサイトの掲示板で聞きましょう。常識です。だって作っている人、使っている人が答えてくれるわけですから。

>$log_d= ".";  # ログ生成ディレクトリ(絶対・相対パスで 最後の / は省く)
>これは、どうゆうふうに書いたらいいのでしょう。
言葉そのものの意味です。あなたがログファイルをどのディレクトリに置くかを指定するものです。
そのファイルから見てログ保存用ディレクトリはどこにあるかを指定すればいいのです。(相対パスの場合)多分ログ保存用ディレクトリは自分で作って指定するんだと思います。この意味も分からないのならば設置は止めた方がいいです。配布先で説明がされているはずですよ。
初心者だからと勉強しないのはよくありません。CGIスクリプトの場合エラーが出ると場合によってはサーバに多大な負荷を与えることになるのです...とプロの旦那にいわれました。(T.T)

この回答への補足

回答ありがとうございます。
その常識はわかっているつもりです。
CGIスクリプトもメインの記述を変えることは
しません。
ただ、わからないのはURLは×とありまして
フォルダだけを指定したら、エラーになるのです。

補足日時:2002/01/18 10:35
    • good
    • 0

うーん、「おなかが痛いのですが、何故でしょう」と言われているようです。

これだけですと何もわかりません。
そのCGI(Perlで書かれているのですよね?)がログファイルを自動生成するのか?予め用意しなければならないのか?そこらへんはソースを見てみないとわからないです。
NO log fileと表示されるのですから、スクリプトはちゃんと動いてますね。ログファイルが見つからない、ということなのでそのあたりを再度チェックする必要はあります。
    • good
    • 0
この回答へのお礼

ありがとうございます。
なにせ、CGIの勉強も
始めたばかりでよくわかりません。
本を読んでもわからない・・・。
とにかく、もう一度調べます。

お礼日時:2002/01/19 21:51

こんにちは。



なぜ?
というか、よくあるパターンとか、一般的な確認点、対処とか・・・
有りそうなフレーズ並べてみるテスト(^^;
ヒント程度になれば、幸いです。


>$log_d= ".";  # ログ生成ディレクトリ(絶対・相対パスで 最後の / は省く)

ログファイルが logfile.txt だとして、同じディレクトリにある場合
$log_d="logfile.txt";
となるはず。相当特殊な組み方しない限り、こうなるはずですが?

さらに、空っぽのファイル(空のメモ帳を保存したファイル)をあらかじめ作ってあげないといけないヤツとか、結構有りますが。その辺をもういっぺん確認してみてください。

$log_d="ディレクトリ/logfile.txt";
とか、(他のディレクトリ内にログ)
$log_d="../logfile.txt";
とか一つ上のディレクトリにログ

あと、ファイルの属性は書き込みができるように 606 が普通でしょう。ま、この辺は、666であったりと「サイト次第」なところ有るので、サイトのマニュアルに従ってあげてください。

でわ
    • good
    • 0
この回答へのお礼

お返事ありがとうございました。
現在、CGIスクリプトと悪戦苦闘しています。
HTMLのようにうまくいかないですね。

お礼日時:2002/01/21 16:29

Not logfile=ログファイルがありません



ログファイルが読み込めなくてエラーが出ているのですね。
問題の
> $log_d= ".";
ですが、ここを修正すれば動くはずです。
コメントに
> # ログ生成ディレクトリ(絶対・相対パスで 最後の / は省く)
とありますよね。
peter8は”相対パス”で入力する方が良いでしょうね。(技術・知識的な問題です)
ディレクトリの指定は、例えばログファイルが「./log/ログファイル」にあるのなら、そのディレクトリは「./log/」となりますよね。
そこから最後の/を省いた「./log」が正解です。
$log_d= "./log";としてやりましょう。
(「$log_d/ファイル名」という形式でスクリプト中で使われるはずです。)
この「log」ディレクトリ(フォルダ)はご自身で作って、ディレクトリのパーミッションは「777」にして下さい。
「生成」とありますから、自動的にそこにファイルが作られると思います。

#1の方もおっしゃってますが、ダウンロードしてきたスクリプトなら、まず製作者の方に聞いてからここに来られた方が良いと思いますよ?
製作者じゃないと、やっぱり回答がちょっとずれてしまったりしますから…
    • good
    • 0
この回答へのお礼

お返事ありがとうございました。
現在、CGIスクリプトと悪戦苦闘しています。
HTMLのようにうまくいかないですね。
せっかくCGIの使えるサーバに移動したのに・・・。

お礼日時:2002/01/21 16:32

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!