CGI超初心者です.
翔泳社のPERL/CGI辞典を見ながらCGIに挑戦してます.
今ローカルサーバーでの動作確認すべく奮闘しているのですがCGI/SSIを使用するためのAPACHEの設定で頭を悩ませてます.
CGIはうまく表示できたのですがどうしてもSSIが表示されないのです.
ファイルは本通りに記述したつもりです.
「test.shtml」
<HTML>
<BODY>
<!--#exec cmd="test.pl" -->
</BODY>
</HTML>
「test.pl」
#!C:\perl\bin\perl
print"hello!";
CGI/SSIはドキュメントルートで制限なく使用できるよう設定しました.
test.shtmlは表示されてるようなんですがそこにtest.plが読み込めてないようです(よく分かりませんが…)
どこが悪いのか全く分かりません.
ブラウザ上でこのtest.shtmlのソースを確認したら<!--#exec cmd="test.pl" -->の部分が表示されてませんでした.
全くの初心者でどのような情報を開示すればよいのか分からないので必要な情報があれば教えていただけるとありがたいです.
No.5ベストアンサー
- 回答日時:
> でもこれはSSIではないんですね?
Server Side Include といういみでは、cmd でも cgiでもSSIとして動作しているということですよ。
cmd/cgiのどちらを利用するかはあまり明確な切り分けは無いと思います。強いて言うなら、cmd はコマンドやシェルスクリプト(バッチファイル?)の実行結果を表示するときに、cgiはプログラムの実行結果を表示するとき、というぐらじゃないでしょうか。
今回の test.plを自分でどちらに意味づけするかでcmd/cgiどちらを使うかを決めるだけだと思います。
私はここで SSIの使い方を勉強しました
http://www.hotwired.co.jp/webmonkey/2000/04/inde …
http://www.hotwired.co.jp/webmonkey/2000/05/inde …
#include file/virtualの他にも#if/#else/#endifは結構便利に使えました。
#今はほとんどPHPを使っているのでSSIは使わなくなりましたが..
参考URL:http://www.hotwired.co.jp/webmonkey/
No.4
- 回答日時:
> 単純に <!--#exec cmd="dir" --> としても動かなかったのですから、Apache2(最新版2.0.48)ではバグ(もしくは仕様??)で動作しないんだと思います。
もしかするとexecはセキュリティ上あまりよろしくないので仕様が変更されたのかな?
参考書が古かったりすると、動かないことがあるかもしれませんね。
代替でこれ↓はどうですか?
<!--#include virtual="/cgi-bin/test.pl"-->
あと、念のために確認しますが、
1) htdocsのディレクティブに Includes もしくは IncludesNOEXEC を追加していますか?
2) AddTypeで .shtml を有効にしていますか?
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
たしかデフォルトでは *.pl はCGIとして動作しなかった記憶があるのですが、そこもちゃんと設定済みですか?
(*.cgiならデフォルト状態でも動作したはず)
この回答への補足
回答ありがとうございます。
代替の記述でトライしてみましたがやっぱりだめでした。
ちなみに
1)のhtdocsにIncludesの記述は追加してます.
2)3行目のAddOutputFilter~の記述の代わりにAddHandler~の設定があってそれは有効にしてます.
ActivePerl5でapacheは1.3.29です.
全くどうしたものか… やっぱりバグですか?
ただ参考書で使用してるapacheは1.3.27なのでそんなに仕様が変わってるとは思えないんですが。
No.3
- 回答日時:
#2の補足です。
> print "Content-type: text/html\n\n";
これは cgiとして動作させるときのものでした。cmdとして実行させる場合はいらない行です。
> exec cmdでうまく行かない場合
Win32では、この exec cmd の実装バグがいろいろあるようです。1.3系でも動作する場合と動作しない場合があるようです。2.0は少なくとも私の環境では動きませんでした。
単純に <!--#exec cmd="dir" --> としても動かなかったのですから、Apache2(最新版2.0.48)ではバグ(もしくは仕様??)で動作しないんだと思います。
参考URL:http://www.google.com/search?q=exec+cmd+apache+w …
この回答への補足
回答ありがとうございます.
下の方法でやってみたらチャンと表示されました。
でもこれはSSIではないんですね?
apacheは1.3.29なんですけどやっぱりバグなんでしょうか…
No.2
- 回答日時:
まず、test.pl の方で、print "hello!";を実行する前に
print "Content-type: text/html\n\n";
を入れてください。htmlを出力する時のおまじないです。
あと、ちょっと理由がわからなかったのですが、exec cmdでうまく行かない場合 exec cgiにしてみてください。
exec cmdで試したのですが、私の環境 Win2k Apache2 Perl5 では動作しなかったので...。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) VScodeでpythonプログラムの関数を実行したい 2 2022/07/13 19:24
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- JavaScript [再掲]指定したパスが現URLに含まれていたら特定要素を削除するJavascriptのコードについて 1 2023/05/10 15:09
- CGI (フリーの)ツリー掲示版CGI、昔は多用させてもらいましたが・・今セキュリティ上どうでしょう? 2 2023/06/25 07:18
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- Excel(エクセル) フォルダ内のエクセルファイルを開かずにデータ採取する関数式 2 2022/12/22 22:15
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- PHP PHP一覧表示した項目にリンクをはりたい 1 2023/07/12 17:08
- JavaScript 【GAS】WEBアプリでハイパーリンクを挿入したい 1 2023/03/12 19:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
apacheで403を404のように見せる
-
apacheでPerl CGIが作動せず、5...
-
CGIの中で出力するテキスト内容...
-
エクセルで 自動的に◯や数字を...
-
ファイルをディレクトリ分配の...
-
DBを10件毎に表示ページング...
-
毎○曜日って、使いますか?
-
[Excel] ある日の曜日が当月の"...
-
曜日を求めるプログラムはどう...
-
月の第一週とは
-
週2回のペースって だいたい何...
-
cgiとplとpm
-
raspberrypiから外部サーバーへ...
-
HTTP 200 OKの後のリダイレクト?
-
クライアントのIPとマシン名を...
-
エクセルで相対パスの書き方を...
-
perlでHTTP Request Headersの...
-
よくある 『 第○(1・2・3・4・...
-
VBAでExcelのヘッダーに文字列+...
-
毎週同じ曜日にラブホに行くと...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
apacheでPerl CGIが作動せず、5...
-
CGIの中で出力するテキスト内容...
-
apacheで403を404のように見せる
-
携帯サイトでバナーをランダム...
-
Googleアラリティクスの埋め込...
-
ローカルサーバーでの動作確認
-
未入力のチェックをするには?
-
MAMPでpythonを実行させたい
-
CGI(Peal)でURLデコード
-
SSI で #exec 以外で Perl-CGI ...
-
はじめまして、レンタルサーバ...
-
jQueryのpostからのリクエスト...
-
サクラのレンタルサーバーです...
-
月の第一週とは
-
6月の第2 第4火曜日は何日...
-
よくある 『 第○(1・2・3・4・...
-
DBを10件毎に表示ページング...
-
エクセルで毎月第2週日の水曜日...
-
[Excel] ある日の曜日が当月の"...
-
週2回のペースって だいたい何...
おすすめ情報