• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ローカルサーバーでの動作確認)

ローカルサーバーでの動作確認について

yatokesaの回答

  • yatokesa
  • ベストアンサー率40% (201/496)
回答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

  • Apache2.2でPerlを呼び出すSSIを使ったHTMLをloca

    Apache2.2でPerlを呼び出すSSIを使ったHTMLをlocalhostで動かそうとしています。 AddHandler cgi-script .cgi .plに変更。 exec cmdをHTMLファイルに埋め込みました。 <!--#exec cmd="/PROGRA~1/APACHE~1/Apache2.2/cgi-bin/counter.pl counter"--> インターネットのApacheでSSIを使う方法を読み,httpd.confの中に Options FollowSymLinks Multiviews の後にIncludesをつけ   AddType text/html .shtml と   AddHandler server-parsed .shtml を加えました。しかし、localhostで実行するとHTMLのSSIの部分だけ表示されません。 (アクセスカウンターのカウンターだけ表示されません)。エラーログには ”指定されたファイルが見つかりません。 : don't know how to spawn cmd child process: C:/Program Files/Apache Software Foundation/Apache2.2/htdocs/counter.shtml” と記録されていました。 どうしたらよいのでしょうか。 どなたか解決できるかた、回答よろしくおねがいします。

    • 締切済み
    • CGI
  • 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
  • Apach2でSSIコマンドが実行出来ないのですが教えてください

    環境は、自宅サーバ、WindouwsXP、Apache/2.0.53 (Win32) PHP/4.3.10 mod_jk2/2.0.2です。 [httpd.conf SSI関連設定] AddType application/x-server-parsed .shtml AddHandler server-parsed .shtml AddHandler cgi-script .cgi .pl .bat [SHTMLファイル] <HTML><HEAD><TITLE>counttest</TITLE></HEAD><BODY> あなたは<!--#exec cmd="countlog/count.pl" -->人目のお客様です。 </BODY></HTML> [count.plファイル] #!c:/perl/bin/perl $file="C:/ProgramFiles/Apachegroup/Apache2/htdocs /nandemokan/countlog/numfile"; open(FILE, "<$file"); #人数ファイルを読んで 以下省略 http://localhost/nandemokan/index.shtml [SHTML実行結果] あなたは人目のお客様です。 http://localhost/nandemokan/countlog/count.pl [直接SSIを指定した結果] Internal Server Error なお、コマンドプロンプトからcount.plを実行すると 正常にカウンタが出力されます。 ANHTTPDではうまくいったのですが、Apache2で出来なくて困っています。よろしくお願いします。

    • ベストアンサー
    • CGI
  • 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を使ってHTMLページにCGIを埋め込みたい

    使っているサーバーがSSIが使えるとの事で今回初めてSSIを使ってHTMLページにCGIを埋め込みたいと思い、色々なページを見ながら設置してはみてるんですが、 [an error occurred while processing this directive] となってしまいます。 やってみた事は test.shtmlを作り<BODY></BODY>の中に <!--#exec cgi="/navi/can.cgi"--> などとしてみたりしましたが上記のエラーが出てしまいます・・ 初歩的な質問なのかもしれませんが何が間違えているのかもわからなく、すみませんが教えていただけないでしょうか? よろしくお願いします。

    • 締切済み
    • CGI
  • 携帯&PCで表示可能なカウントダウンスクリプトの設置

    携帯・PC共に表示可能な、ページに埋め込み型のカウントダウンができるスクリプトを設置したいと考えています。 そこで発見したのが以下のSSIのスクリプトです。 http://210.143.110.54/soft/cgi/xday.html しかし、自分はperlに関する知識がないので、いまいち設置の仕方がよくわかりません。(SSI式のカウンターなどは設置に成功しています) <!--#exec cmd="./xday.pl yyyymmdd"-->で呼び出すとありますが、 サーバがXREAなのでexec cmdが使えません。 何か対応策はありませんでしょうか?

    • 締切済み
    • CGI
  • 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
  • Apache2.2でPerlを呼び出すSSIを使ったHTMLをloca

    Apache2.2でPerlを呼び出すSSIを使ったHTMLをlocalhostで動かそうとしています。 exec cmdをHTMLファイルに埋め込みました。インターネットのApacheでSSIを使う方法を読み,httpd.confの中に Options FollowSymLinks Multiviews の後にIncludesをつけ 念のため Options Indexes FollowSymlinks の後にもMultiviews Includes をつけ   AddType text/html .shtml と AddHandler server-parsed .shtml を加えました。しかし、localhostで実行するとHTMLのSSIの部分だけ表示されません。 (アクセスカウンターのカウンターだけ表示されません)。どうしたらよいのでしょうか。 どなたか解決できるかた、回答よろしくお願いします。

  • shtmlより参照できないディレクトリ

    いつもお世話になります。 下記のようなディレクトリ構成でshtmlよりperlのcgiプログラムをコールしております。(cgiは全てcgiディレクトリの中に格納) shtml上から上位ディレクトリからcgiディレクトリを参照できるのですが、下位ディレクトリからshtmlより参照することができません。 ※現状ではcgiを下位ディレクトリにshtmlと一緒に配置してしのいでおります。 ※cgi本体からは../cgiの中を参照できております。 root--- | ---cgi--dbfile | | | ---topic | | | ---img 中略 | par この場合rootにあるindex.shtmlよりcgiディレクトリにあるtest.cgiをexec cmdでコールする場合 「<!--exec cmd="./cgi/test.cgi"-->」コール可能です。 ところがparにあるindex.shtmlよりcgiディレクトリにtest.cgiをコールする場合「<!--exec cmd="../cgi/test.cgi"」とするとcgiをコールできません。 記述方法は間違いがないと思いますが、上位ディレクトリからはcgiディレクトリを参照できて、下位ディレクトリからcgiフォルダを参照できないのはなぜでしょうか? ※この例でいくとparフォルダにtest.cgiを配置しshtmlより<!--exec cmd="test.cgi"-->とすると コールできます。test.cgi本体からは../cgi/~のような記述でcgiフォルダを参照できております。 パスなど環境設定でしょうか? 大変恐縮ですが、どなたかご教示願います。

    • ベストアンサー
    • Perl
  • SSIが認識されません。誰か解かりませんか?

    SSIが上手く認識されません。 shtmlの書き方がおかしいのでしょうか? shtmlは、/public_html/cgi-bin/○○.shtmlに入っています。 インターネットエクスプローラーでアドレスを入力すると表示されます。但し、cssが認識されていません。 htmlの中には、 <!--#exec cmd="http://○○○.com/cgi-bin/○○.shtml"-->と入力しています。 ソフトはビルダーです。 shtmlは、必要な分しか入力していません。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <STRONG ○○・・・ ・ ・ ・ </TBODY> </TABLE> </DIV> </DIV> で終わっています。 アクセス権限は755に変更しています。 サバーにアップしてもshtmlの部分が認識されないのは何故ですか? 宜しく、お願いします。