パーミッションの設定

解決済みの質問

パーミッションの設定

恐れ入ります。
windows xpのローカル環境にてapacheを通じCGIの勉強をしているのですが作ったCGIのアドレスをブラウザにうちこんでもファイルをダウンロードしますか?というダイアログがでてcgiが実行されず困っています。恐らくパーミッションの設定が問題なのだと思いますが、ffftpではローカル環境のパーミッションの設定ができません。

どのようにすればよろしいでしょうか?

投稿日時 - 2006-08-31 18:54:59

QNo.2375060

ler

困ってます

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

>ダウンロードしますか?というダイアログがでて

それをダウンロードしてどこかに保存し
terapadなどのテキストエディタ ( http://www5f.biglobe.ne.jp/~t-susumu/library/tpad.html )
で開いてみてください。
perlのCGIだと仮定すると3つの状態が想定できます。

1. CGIの実行結果が記述されている場合
 ヘッダの不良
 またはContent-type:text/plain\n\nと言うヘッダの場合、文法的には正しいのですが
 MSIEのおかしな仕様により開けません。
  Content-type:text/html\n\n をつけて
 HTML文を出力しましょう

2. 実行結果ではなく #! /usr/local/bin/perl などを含む
 スクリプトのソースそのものが記述されている場合
 httpd.confまたは有効な .htaccessで AddHandler cgi-script .cgi が効いていません

3. エラーメッセージが記述されている場合
 error.logを見て参考にしましょう 場所はデフォルトなら C:\Program Files\Apache Group\Apache\logs
 内容を見ても判らなければ logの一番下から3行分を
 補足に貼り付けてください

投稿日時 - 2006-08-31 19:34:32

補足

やっと解決しました。
Content-type: text/html/\n\n
これなんですけど
スラッシュが一個おおいんですよね。
Content-type: text/html\n\n
ですからこう記述しなければならなかったんです。

皆様のおかげでできました。
ありがとうございました。

投稿日時 - 2006-08-31 19:50:28

お礼

ありがとうございます。

#!C:/perl/bin/perl

print "Content-type: text/html/\n\n";
print "<html>\n";
print "<head><title>age</title></head>\n";
print "<body>こんにちわ。ようこそcgiの世界へ</body>\n";
print "</html>\n";

これがそのファイルの中身なんですけど。
1でもないですよね。2でもないです。
printenv.cgiは.plをなおすときちんと動きますので・・。
3ですがエラーメッセージもないですね。

<html>
<head><title>age</title></head>
<body>こんにちわ。ようこそcgiの世界へ</body>
</html>
ファイルを開くとこのようにでています。

おかしなことにprintenv.cgiの中身を消して
ファイルの中身をかきかえるときちんと出力されるんですよね。
そしてアパッチェを再起動するとprintenv.cgiでも機能しなくなるわけなんです。。。

投稿日時 - 2006-08-31 19:45:44

ANo.3

0人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

ベストアンサー以外の回答(2件中 1~2件目)

ANo.2

下記の質問が参考になると思います
http://okwave.jp/kotaeru.php3?q=2349646

投稿日時 - 2006-08-31 19:23:12

お礼

これがそのファイルの中身なんですけど
不思議・・・

#!C:/perl/bin/perl

print "Content-type: text/html/\n\n";
print "<html>\n";
print "<head><title>age</title></head>\n";
print "<body>こんにちわ。ようこそcgiの世界へ</body>\n";
print "</html>\n";

なにがいけないんでしょうね

投稿日時 - 2006-08-31 19:40:09

ANo.1

それは、パーミッションではなくてapacheの設定ではないでしょうか。
CGIを置くフォルダとか、CGIだと見なす拡張子はこれだとか言う設定を正しくapacheにしないと、CGIファイルが実行されるのではなくダウンロードされます。

投稿日時 - 2006-08-31 19:13:40

お礼

お返事ありがとうございます。
でもですね、他のcgiファイル(printenv.cgi)は動くんですよ。
でそのcgiファイルに内容を書き換えると動くんです。

でもa.cgiのURLを打ち込むとダウンロードされてしまうんですよね。。。不思議

投稿日時 - 2006-08-31 19:29:36

あわせてチェックしたい
  • ローカルでのcgiのパーミッション変更 ...
  • CGIのパーミッションについて ...
  • FFFTPでパーミッションの値が。。。 ...
PR
【夫婦アンケート】バレンタインしてますか?[ 詳細 ]

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら