• ベストアンサー

データベース検索を作成、テスト中のエラーを解説していただけませんか?

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

質問者が選んだベストアンサー

  • ベストアンサー
  • selenity
  • ベストアンサー率41% (324/772)
回答No.2

エラーメッセージの通り、 ./db.log を書き出せないと言っています。 UNIX+Apacheの環境だと仮定すると、 通常Apacheから呼び出されたCGIスクリプトは nobody権限で動作します。 ですが、CGIスクリプトが置いてあるディレクトリは nobodyユーザでは書き込む権限がありません。 ですから「Write Error」なのです。 ログファイルとは、動作の記録を残したファイル なので、不要であればログを残す必要はありません。 かき出すには、CGIスクリプトが置いてある ディレクトリのパーミッションを1777にしてください。 プロンプトから「chmod 1777 .」と打ち込むだけです。 ただし、セキュリティを考慮すると、この設定は お勧めできません。 くれぐれも自己責任の元行ってください。

bori
質問者

お礼

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

その他の回答 (1)

  • arthur
  • ベストアンサー率34% (15/43)
回答No.1

こんにちわ 今一つ情報が少ないような気がします^^; 「自分の端末で」とありますが、まだサーバにはアップしてないってことでしょうか? アップしてあるのであればURLを教えていただければ解析しやすいのですが・・。 >Write Error:./db.log このメッセージはCGIが出しているんでしょうかね? db.logファイルへの書き込みで失敗しているようですが・・。 そうだとすると、考えられる可能性として 1:db.logというファイルは存在してますか? 2:存在しているならば、ファイルへのパスはあっていますか? 3:また、パーミッションは書き込み可(666かな?)になっていますか? そのシステムについてあまりよく理解してないので、詳しい回答はできませんが、 よかったらまた補足お願いします。

bori
質問者

補足

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

関連するQ&A