え~~!はっきり言ってCGIはど素人です。
サーバーはインターQを使用しています、そこで、掲示板を作成しようと思ってるのですがうまいこといきません。
インターQにのってるテスト用のCGIをアップしても、うまいこと表示されません。
で、私が用意したCGIをアップしてアドレスのアクセスするとこのようなエラーがでます。
「CGIWrap Error: Execution of this script not permitted
Execution of (/export/home/m/e/8/4/me101384/./cgi-bin/test.cgi) is not permitted for the following reason: Script is not executable. Issue 'chmod 755 filename'」
この場合、なにが良くないんでしょう?
分かる方教えてください。

このQ&Aに関連する最新のQ&A

A 回答 (4件)

パーミッションの設定はされていますか?


設定されていなければ設定してください
[設定例]
 .cgi:705
 .pl:604
 .dat、.log等のログファイル:606
 フォルダ:705 だめなら707
 .html、画像等:604

もし設定されていれば、その設定を補足してください。

この回答への補足

「require './cgi-lib.pl';
require './jcode.pl';」
の設定のことでしょうか?
この部分を直せばいいのですか?

補足日時:2002/04/06 12:50
    • good
    • 0

#3の方の回答と、回答の補足のやりとりを見て思ったんですけど、アクセス権(パーミッション)の設定の仕方が分からないのかな?



ファイルをアップロードしたときに使用した「ファイル転送ソフト」などを使って、
サーバーと繋がった状態にして(いつでもファイルの転送や削除ができる状態のこと)、サーバー上にあるファイルを右クリックしてメニューを開くと、
アクセス権限(ファイル権限・パーミッションなど、使用しているソフトによって名前が変わるが)の変更の項目があるので、それをクリックして、
指定されたパーミッションの数字になるように設定するんですよ。。

この回答への補足

うん、それは理解できました。

補足日時:2002/04/06 15:52
    • good
    • 0

このメッセージは、CGIなのにファイル権限が755になっていないので、


[chmod 755 fikename]しろと言っています。
目的のファイルのあるサーバにログインし、ファイルのあるディレクトリで
chmod 755 test.cgi
と実行すれば動きます。

この回答への補足

本当に素人ですいません(^^;
これはアドレスの最後で入力するすればいいのですか?
そうすると、こんなエラーがでました。
「CGIWrap Error: Couldn't find user and script name, check your URL.
Couldn't find user and script name, check your URL.」
CGIのSCRIPTはどう指定するのですか?

補足日時:2002/04/06 12:51
    • good
    • 0

パーミッションは全部あってると仮定して・・。



InterQは、普通のページを呼び出すときは、

http://www.interq.or.jp/aaaa/bbbb/cccc.hrm と、なりますけど、

cgiを呼び出すときは、

http://cgi.members.interq.or.jp/aaaa/bbbb/cccc.cgi に、なりますよ。

この回答への補足

この部分に関しては大丈夫です。

補足日時:2002/04/06 12:48
    • good
    • 0

このQ&Aに関連する人気のQ&A

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

このQ&Aと関連する良く見られている質問

Aベストアンサー

>画像ヘッダとはどういうものでしょうか?

Content-type: image/gif
Content-type: image/png
Content-type: image/jpeg

など、画像タイプごとに決まっています。
<img>タグに普通の画像ファイルが指定されている場合は
Webサーバが画像ファイルの拡張子から判断して返してくれ
ますが、CGIから返されるデータの種類は拡張子からは判断
できないのでCGI内部からヘッダを返す必要があります。


●CGIがPerlの場合で、GIF画像をCGIから返す例
#!/path/to/perl
print "Content-type: image/gif\n\n";
open(GIF, "file.gif");
binmode(GIF); binmode(STDOUT);
print <GIF>; close(GIF);

もちろん、CGIからは画像フォーマットを返せばいいので、
ファイルから読まずにあらかじめCGIソース内に画像データ
を持っておいて出力する方法も可能です。


ちなみに、多くのCGIではHTMLコンテンツを返す場合が多い
ので、ヘッダは以下のようになります。

print "Content-type: text/html\n\n";

>画像ヘッダとはどういうものでしょうか?

Content-type: image/gif
Content-type: image/png
Content-type: image/jpeg

など、画像タイプごとに決まっています。
<img>タグに普通の画像ファイルが指定されている場合は
Webサーバが画像ファイルの拡張子から判断して返してくれ
ますが、CGIから返されるデータの種類は拡張子からは判断
できないのでCGI内部からヘッダを返す必要があります。


●CGIがPerlの場合で、GIF画像をCGIから返す例
#!/path/to/perl
print "Content-type: image/gif\n\n...
続きを読む

QCGI/Perlという本はありますがCGI/PHPという本はないのはなぜですか?

アマゾンで調べると表題でCGI/Perlという本はありますがCGI/PHPという本はないのはなぜですか?

Aベストアンサー

なぜそのような書籍が無いのか結論から申し上げると「需要が無い」からです。
その理由はPHPとCGIの動作に起因し、PHP利用の最大のメリット(?なのでしょうか?)であるHTML組み込みなど利用できなくなるからです。

動作の概略(あくまで概略なので細かくするとキリがありません)を示しますと(右に長いのでテキストエディタなどにコピペしてみていただくと見やすいかと思います)

CGIの動作
 ブラウザ-[INTERNET]->Webサーバー -[CGI]-> システム:処理言語{Perl/C/Ruby...etc.}+プログラム:処理結果 -[CGI]-> Webサーバー -[INTERNET]->ブラウザ

PHPの動作
 ブラウザ-[INTERNET]->Webサーバー:PHP:処理結果 -[INTERNET]->ブラウザ

PHPを単体で処理できるようにインストール設定すればPHPをCGIとして利用することも可能です。当然、利用範囲がCGIの域を出なくなり、PHPとしてのメリットがなくなってしまいます。
そのような非効率的な運用利用をする方はほとんどいないので書籍にしても需要が無いと思います(何らかの事情で必要な方なら、WebサーバとCGIがしっかり理解できていれば簡単に実現できるかと思います)。

ちなみに、代表的なWebサーバApacheは外部組み込み機能を使ってPerlを「PHPの動作」と同じ動きをさせることができます。
そちらは「CGI」の範疇ではなく「Webサーバー構築」の分野ですのでそういった書籍を参考にしてください。

なぜそのような書籍が無いのか結論から申し上げると「需要が無い」からです。
その理由はPHPとCGIの動作に起因し、PHP利用の最大のメリット(?なのでしょうか?)であるHTML組み込みなど利用できなくなるからです。

動作の概略(あくまで概略なので細かくするとキリがありません)を示しますと(右に長いのでテキストエディタなどにコピペしてみていただくと見やすいかと思います)

CGIの動作
 ブラウザ-[INTERNET]->Webサーバー -[CGI]-> システム:処理言語{Perl/C/Ruby...etc.}...続きを読む

Qhttp://www.test.cgi/index などのCGI名のあとのパス名

http://www.test.cgi/index
のようになっているものを見かけるときがあります。普段は
http://www.test.cgi?mode=index
などしているのですが、どのような仕組みになっているのでしょうか?
これはPerlに限らず、CGIとして動作するものなら実装できるのでしょうか?
疑問に思ってしまったので、ご回答のほどをよろしくお願いします。

Aベストアンサー

PATH_INFOと呼ばれる情報です。Perl/CGIであれば環境変数の$ENV{'PATH_INFO'}で取得する事が出来ます。クエリー(?xxx)が$ENV{'QUERY_STRING'}で取得出来る事と同じ要領です。組み合わせてtest.cgi/path/info?query=stringのようにする事も出来ます。(それぞれ上記の環境変数で別々に取り出せます。)

他の言語に関しても取得出来ます。言語名とPATH_INFOで検索をかけてみてください。(例えば『php path_info』等)

Q一つのファイルだけにPremature end of script headers

CGIが突然動かなくなりました。

 昨日まで動いていたcgiファイルが突然表示されなくなりました。
 ただ、動かなくなったのはある一つのファイルだけで、他のcgiファイルはきちんと表示されます。

 原因はよくわからないのですが、あるソフトウェアをインストールしたらおかしくなって、それをアンインストールしたのですが、変化がありません。
 コンソール上ではきちんと出力されます。

 大事なファイルなので、きちんと表示させたいのですが、一日格闘しても駄目です。
 ヘッダーも統一しているので、動くファイルのものを貼りつけたりしても駄目でした。
 他のファイルもすべて駄目になったのであれば、原因はわかりやすいと思うのですが、特定のファイル一つだけというのはどうもよくわかりません。もしも、ご存知の方がいればどうか解決策を提案していただけますか。

 ちなみに、エラーログはこのように表示されます。

[Sun Jul 22 12:56:50 2007] [error] [client 127.0.0.1] (2)No such file or directory: exec of '/html_files/cgi-bin/any.cgi' failed
[Sun Jul 22 12:56:50 2007] [error] [client 127.0.0.1] Premature end of script headers: any.cgi

 どうぞよろしくお願いします。

CGIが突然動かなくなりました。

 昨日まで動いていたcgiファイルが突然表示されなくなりました。
 ただ、動かなくなったのはある一つのファイルだけで、他のcgiファイルはきちんと表示されます。

 原因はよくわからないのですが、あるソフトウェアをインストールしたらおかしくなって、それをアンインストールしたのですが、変化がありません。
 コンソール上ではきちんと出力されます。

 大事なファイルなので、きちんと表示させたいのですが、一日格闘しても駄目です。
 ヘッダーも統一してい...続きを読む

Aベストアンサー

>No such file or directory: exec of '/html_files/cgi-bin/any.cgi' failed

これを解決してください。

QCGIをHTML(scriptタグ)上でうまく呼び出せない

お世話になっております。
ご存知の方いらっしゃいましたら、ご教授願えますでしょうか?

HPにアクセスカウンタを設置したいと思い、

http://apps.cside.com/cgi/counter/jscnt/
こちらのアクセスカウンタをお借りして

CGIのテストを兼ねてtest.htmで呼び出したいので、
test.htmに以下のような記述をしました。
------------------------------------------------------------------------
<html>
<head>
<title>top</title>
<script language="JavaScript" src="./jscnt/cnt.cgi"></script>
</head>
<body>
</body>
</html>
------------------------------------------------------------------------

また、こちらのCGIの説明ページに書いてある通り、
以下のように設置しました。

 html/(レンタルサーバのメインディレクトリ)
 │
 ├ test.html ……………………… (755) カウンタ呼出しHTML
 │
 └ jscnt/  ………………………… (755) プログラムディレクトリ
   ├ cnt.cgi …………………… (755) カウンタcgiファイル
   └ data.cgi ………………… (666) カウント数記録ファイル

以上のように設定したのですが、真っ白のページが表示されるだけで、
カウンターが出ません・・・。

他に設定や何かタグ等を追加する必要があるのでしょうか?

お手数ですが宜しくお願いいたします。

お世話になっております。
ご存知の方いらっしゃいましたら、ご教授願えますでしょうか?

HPにアクセスカウンタを設置したいと思い、

http://apps.cside.com/cgi/counter/jscnt/
こちらのアクセスカウンタをお借りして

CGIのテストを兼ねてtest.htmで呼び出したいので、
test.htmに以下のような記述をしました。
------------------------------------------------------------------------
<html>
<head>
<title>top</title>
<script language="JavaScript" src="./jscnt/cnt.cgi"></script>
<...続きを読む

Aベストアンサー

http://www.hotss.jp/tstcgi/
こういう感じになります。

直接指定した場合は
http://www.hotss.jp/tstcgi/jscnt/cnt.cgi

document.write('000006'); と変な表示となります (笑)

では 頑張ってください。


このカテゴリの人気Q&Aランキング

おすすめ情報