• ベストアンサー

SSI(<!--#exec cmd="./XXXpl")の実行ができなくてこまっています。

SSI(<!--#exec cmd="./XXXpl")の実行ができなくてこまっています。 ちなみに、 <!--#include file="./XXX.htm"-->はできています。 なにが悪いのか解かりません。 誰か、教えてください。

  • CGI
  • 回答数2
  • ありがとう数3

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

  • ベストアンサー
回答No.1

サーバーのOSとhttpdのバージョンが判らないと、、 windows+Apacheの場合はexec cmdが動かない場合が多いですけど? 以下を試してください <!--#exec cgi=" ./XXXpl" <!--#exec cmd="perl ./XXXpl" <!--#exec cmd="/home/tarou/public_html/XXXpl"  (上のは例です、cmdの場合はfileシステム上の絶対パスを  exec cgiを絶対パスで記述するなら仮想パス上の絶対パスを記述

oyaji111
質問者

お礼

回答ありがとうございます。環境は下記を使用しています。 サーバOS:WindowsXP httpd:apache2.0.55 Perl:5.8.7 です。 <!--#exec cmd="perl ./XXXpl"、 <!--#exec cmd="/home/tarou/public_html/XXXplで実行しても、やはり XXXplが実行されませんでした。Linuxなら上手くいくのですが。。。 <!--#exec cgi=" ./XXXpl"は上手くいっています。 Windowsでexec cmdを動かす方法はないのでしょうか?

その他の回答 (1)

回答No.2

WindowsXPだとApache1.3.34でなら <!--#exec cmd="perl C:/home/hoge/0.cgi" --> と <!--#exec cmd="perl ./0.cgi" --> は動きます 但し コマンドプロンプトで path コマンドを打って c:\perl\bin;c:\windows のようにperl.exe迄のパスが入っている必要があります Apache2.0.55ではどう頑張ってもexec cmdは動かないと思います 数年前にいくつかのバージョンのApache For Win32でSSIを試し、 ApacheのMLにて「**と**のバージョンではexec cmdが動きません」と投稿しましたが こうすれば動くよなどの意見はありませんでしたので やはり動かないのだと思います

oyaji111
質問者

お礼

アドバイスありがとうございました。 どう頑張ってもexec cmdは動かなかったです。 Linux環境を構築して、そちらで動かすようにします。

関連するQ&A

  • SSIの『#exec cmd』と『#exec cgi』の違いがよくわかりません

    SSI初心者の者です。 参考書(CGIプログラミング入門/翔泳社)を見ながらCGIとSSIの勉強をしてるのですが、SSIの『#exec cmd』と『#exec cgi』の違いがよくわかりません。 本には前者はPerlスクリプトで後者はCGIスクリプトの場合に使うって書いてあるのですが、この2つってどう違うのですか? 前後の文脈から察するにCGIスクリプトは『print "Content-Type: text/html"』があって、 Perlスクリプトはこれが無いものと読み取れるのですが そうなのでしょうか? 初心者向けに御回答していただけますよう、よろしくお願いいたします。

    • ベストアンサー
    • CGI
  • PerlでHTMLを読み込み記述されたSSIコマンド(exec)の実行を実現するには。

    HTMLファイルを読み込んで表示するCGIを作っています。 それで、そのHTMLファイルに記述されたSSIコマンドを、 そのCGIで認識して、それを実行する。ということを実現したいと思っています。 includeコマンドは簡単に実現ができたのですが、 execコマンドが完全には実現できません・・・。 一応、openのパイプを使って、 <!--#exec cmd="test.cgi" --> のようなコマンドを認識しそれを実行して返すことはできました。 しかし、test.cgi?a=wのように パラメータをつけての実行が実現できません。 もちろん、SSIと同じように、 execコマンドで実行する先のCGI、プログラムなどを 改変することなくそのまま実行できることが条件です。 (例えば、$ENV{'QUERY_STRING'}ではなくARGVを使うようにするのではダメなんです) お知恵をお貸しいただけると幸いです。 どうかよろしく御願いいたします。

    • ベストアンサー
    • Perl
  • Apache 2.0 で SSI cmdが動かない

    同じ質問で http://okwave.jp/qa/q451501.html これと同じですが、未だ解決していないようなので。先に上記を見て下さい。 SSI の機能は ファイルアクセス表示などのコマンドが実行できているので、動作しています。 <!--#exec cmd="test.cgi" --> でエラーログが下記です。 execution failure for parameter "cmd" to tag exec in file.......shtml cmdの実効に失敗した。 test.cgi はDOSのbat で動作、及びHTMLのhead等のタグをプリントで入れれば 正常動作しています。 先人の質問でやり取りは一通りやっています。LoadModule等も #exec cmd がどうしても機能しないと思えますが 宜しく御願いします。

    • 締切済み
    • CGI
  • SSIでASPを実行したいのですが、うまくできません

    SSIを初めて使うにあたり、テストしています。 include virtualが正常に動作するのは確認できたのですが、 <!--#exec cgi="http://xx.xxx.com/xxx.asp"--> と挿入した、shtmlを表示しようとすると、 「実行権がないため、#EXEC 'http://xx.xxx.com/xxx.asp' を実行できません」のエラーになります。 http://xx.xxx.com/xxx.aspは、Response.Write "hello world!!"を実行するaspで、 http://xx.xxx.com/xxx.asp単体では動作することを確認できています。 この問題を解決する方法は何かないでしょうか。 あと追加の情報としては、OS:Win2000Server、IIS5.0、 テスト用のshtmlとaspですが、同じフォルダ階層に置いたり、aspを一つ下のフォルダ階層に置いて試したのですが、いずれも上記のエラーとなりました。 何かアドバイスをいただけると幸いです。

  • PHP+SSI

    「index.php?a=100」のようなページをSSI(ssi.shtml) から実行したいと考えています。 ところがssi.shtml内で <!--#exec cmd="index.php 100"--> とし index.php内で引数渡しの設定として「$argv[0]」として ますが、ssi.shtmlを実行しても実行結果を返さずブランクに なってしまいます。index.phpのパーミッションも実行可能に 設定しているのですが…。  上記以外の方法でも結構ですので、SSIで引数付きのPHPを 実行する方法をご存じの方がいらっしゃいましたら、教えて ください。 Apache 1.3.31+PHP 4.3.1で動いています。もちろんSSIで #execがNGなんてオチも有りません。 なお、下記URLによればSSIからの引数渡し自体はCGIだと可能の ようですが…。 http://tohoho.wakusei.ne.jp/wwwssi.htm#Exec

    • 締切済み
    • PHP
  • exec を使ってcmdを動かす

    現在、javaのexec関数を使ってcmdを実行したいのですが、うまく動作しなくて困っています。 ソースコードで説明すると、 try { Runtime r = Runtime.getRuntime(); Process p=       r.exec(newString[{"cmd.exe","/k","del","a.txt"}); } catch { } この様なソースでcmdを立ち上げて、a.txtというファイルを消去したいのですが、このプログラムを実際に動かすとa.txtはきえず、またcmdの画面も表示されません。 しかし、エラーは表示されずまたcmd.exeをnotpad.exeに変更するとちゃんとnotpadが立ち上がります。 どのあたりのソースがおかしいのでしょうか?ご指摘お待ちしております。

    • ベストアンサー
    • Java
  • ssi がうまく動作しません。

    サーバ会社に訪ねると.htaccessに AddType text/html shtml を記入して下さいとのことでした。 以下の方法でためしましたが、エラーがでるわけでもなく、<!--#INCLUDE VIRTUAL="/ssi/xxx.shtml"--> にした部分だけが表示されません。 http://aaa.com/bbb/ccc/ddd.html .htaccess は、bbbのファイル内におきました。 1, ssi/xxx.shtml は、indexと同じトップの階層におきました。 ddd.html に  <!!--#INCLUDE VIRTUAL="/ssi/xxx.shtml"--> を記入しました。 2, ssi/xxx.shtml は、bbbのファイル内において、ddd.html に <!--#INCLUDE FILE="/ssi/xxx.shtml"--> を記入してみましたが、これもだめでした。 パーミッションも何がいいのか、お分かりでしたらお願い致します。 ちなみに777にして試したのですが、だめでした。

    • ベストアンサー
    • CSS
  • CGI内からSSIを実行したいのですが・・・

    趣味でPerlによるCGIをやっています。 CGI出力結果と他のページとでヘッダーを共通化したいのですが、CGIファイル内にSSIの#include fileなどを挿入することはできるのでしょうか。 CGIファイルの中に print "<!--#include file="sample.html"-->\n";とするとそのままソースに書きこまれて出力されるだけで実行されないんですけど、、、なにかうまい方法はないでしょうか、お願いします。

  • SSI で #exec 以外で Perl-CGI を実行する方法は?

    最近 CGI に興味をもち Perl を始めました。 簡単なサンプルを無料サーバーにアップロードして cgi だけを 直接実行すると問題なく実行されます。 ですが SSI の #exec を使って HTML ソースに <!--#exec cgi="/cgi-bin/sample.cgi" --> と記述してページを開くと [an error occurred while processing this directive] と表示されてエラーになりました。 無料サーバーは infoseek で CGI/SSI は使えると書かれていたので 試してみました。それでもう一度確認の為に読んで見ると『#exec』は セキュリティ強化のため利用できないことが判明しました。 http://help.www.infoseek.co.jp/isweb/20602.html#7 質問内容: (1)CGI/SSI は使えるが #exec は使えない状況でどうやって Perl-CGI を   HTML ソースに記述して実行すればよいのか? (2)CGI は cgi-bin に置きパーミッションを 755 に設定しています。   設定は infoseek さんの指示通りです。他に設定すべき点ありますか? (3)Perl-CGI の1行目ではちゃんと『#!/usr/local/bin/perl』と記述しています。   こちらも infoseek さんの指示通りです。   Perl の記述で何か気をつけるべき点はありますか?バグ以外で。 (4)HTML ソースの拡張子は shtml にしています。   SSI を使うにはサーバーが対応していれば拡張子を変えるだけで使えるのですか? 今回の質問は Perl-CGI を HTML ソースに記述して実行する?には どうすべきかをお聞きしたいです。infoseek さんの情報は次のリンクです。 http://help.www.infoseek.co.jp/isweb/20601.html またネット検索していたら次のページを発見しました。 http://cocohome.hp.infoseek.co.jp/ssi/ ここの人は私と同じ infoseek で SSI 入門を書いています。 なぜこの方は SSI の #exec が使えるのでしょうか? この辺も知りたいです。 分かる方お願いします。 教えて下さい。

    • ベストアンサー
    • CGI
  • SSIでスクリプトが実行できない

    SSIでHDDの温度を表示するスクリプトを実行しようとしましたが、上手くいきません。SSI自体は正常に動作しています。(試しに、他のスクリプトを実行させたら、正常に作動しました。) 問題は、コマンドラインからスクリプトを実行させると正しく動作するのに、作成したshtmlを実行すると動作しないのです。 以下に、正しく表示されないスクリプトとshtml、正しく動作したスクリプトとshtmlを表示します。 1.正しく表示されないスクリプト、shtml(HDD温度表示) [スクリプト] #!/bin/sh hddtemp /dev/hda | awk '{print $4}' ※コマンドラインからの実行結果 39 [shtml] <html> <head><title>HDDTEMP実験</title></head> <body> 現在のHDD温度<br> <!--#exec cmd="./hddtemp.sh"--> </body> </html> ※実行結果 現在のHDD温度 2.正常に動作したスクリプト、shtml [スクリプト] #!/bin/bash /bin/date ※コマンドラインからの実行結果 Sun May 22 18:11:21 JST 2005 [shtml] <html> <head><title>SSI使用例</title></head> <body> 現在時刻を表示します<br> <!--#exec cmd="./date.sh"--> </body> </html> ※実行結果 現在時刻を表示します Sun May 22 18:09:56 JST 2005 Apacheは1.3.33です。 どうぞよろしくお願いします。

    • ベストアンサー
    • HTML

専門家に質問してみよう