プロが教えるわが家の防犯対策術!

CGI初心者です。データベースを検索するCGIを作成というか、フリーであったものをカスタマイズし、自分の端末にてテスト中です。まずは、データ入力をして検索機能を確認しようとおもい、入力すると、
Write Error:./db.log
と表示されました。そもそもログファイルとは?というのと、どうしたら入力できるようになるのか教えていただけませんか?

A 回答 (2件)

エラーメッセージの通り、


./db.log を書き出せないと言っています。

UNIX+Apacheの環境だと仮定すると、
通常Apacheから呼び出されたCGIスクリプトは
nobody権限で動作します。

ですが、CGIスクリプトが置いてあるディレクトリは
nobodyユーザでは書き込む権限がありません。
ですから「Write Error」なのです。

ログファイルとは、動作の記録を残したファイル
なので、不要であればログを残す必要はありません。

かき出すには、CGIスクリプトが置いてある
ディレクトリのパーミッションを1777にしてください。
プロンプトから「chmod 1777 .」と打ち込むだけです。

ただし、セキュリティを考慮すると、この設定は
お勧めできません。

くれぐれも自己責任の元行ってください。
    • good
    • 0
この回答へのお礼

ありがとうございました。書き込めるようになりました。
\(^o^)/バンザーイ

お礼日時:2001/01/25 14:10

こんにちわ



今一つ情報が少ないような気がします^^;
「自分の端末で」とありますが、まだサーバにはアップしてないってことでしょうか?
アップしてあるのであればURLを教えていただければ解析しやすいのですが・・。

>Write Error:./db.log
このメッセージはCGIが出しているんでしょうかね?
db.logファイルへの書き込みで失敗しているようですが・・。
そうだとすると、考えられる可能性として
1:db.logというファイルは存在してますか?
2:存在しているならば、ファイルへのパスはあっていますか?
3:また、パーミッションは書き込み可(666かな?)になっていますか?

そのシステムについてあまりよく理解してないので、詳しい回答はできませんが、
よかったらまた補足お願いします。

この回答への補足

早速ありがとうございます。
情報が少なかったようで、すいません m(._.)m ペコッ
まだサーバにはアップしていません。そして、db.logファイルは同じフォルダ(db.cgiやjcode.plと)に存在し、ファイルへのパスは変更していないので逢っていると思います。
$logfile = "./db.log";とdb.cgiには表示しています。
パーミッションの設定というのは、自分の端末から自分の端末にファイルを転送して設定するということですか?

補足日時:2001/01/25 11:51
    • good
    • 0

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