• ベストアンサー

ローカルテストで・・・

CGIのローカルテストをしようとすると、「ページが表示されません」と出てしまいます。 動作確認用のCGIは表示されるのですが・・・ 何が原因なんでしょうか?

  • CGI
  • 回答数6
  • ありがとう数6

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

  • ベストアンサー
  • GINO
  • ベストアンサー率36% (18/50)
回答No.6

No3.です。 AN HTTPって良く分かりませんが、下記のURLを発見しましたので 一応ご参考まで。 見ているとは思いますが…。 役に立てなくてすいません。

参考URL:
http://www.st.rim.or.jp/~nakata/gbook/faq.html#CGI
celika
質問者

お礼

解決しました。 ありがとうございました。

その他の回答 (5)

  • GINO
  • ベストアンサー率36% (18/50)
回答No.5

No.2です。 >ローカルテストでパーミッションって関係ありますか? 何をもってローカルテストと言っているかちょっと良く分からないのですが、 通常は関係あると思います。 なぜなら実行許可がないプログラムをローカルだろうがサーバだろうが、い くら実行しようとしても権限無ければ実行できないからです。 参考までに、おいらがCGI組んだ時はどのようにテストするか書きますね。 1.コマンドで○○.cgiを実行してバグ取り。かつ実行権限の確認 2.ローカルのWebサーバから○○.cgiを実行してみて、Webサーバのユーザ   での実行権限の確認とバグ取り。 3.サーバで2.と同様の確認(サーバ上のファイルとかを更新する場合、   ここでそのファイルへのパーミッションの問題も出てくるので)。 問題が発生した時、切り分けが楽ですよ。 #やっているとは思いますが。 ここで、2.のステップがローカルテストと呼んでいるのだと判断しています が、合ってるでしょうか?

celika
質問者

お礼

説明不足でごめんなさい。 ローカルテストはAN HTTPを使ってのテストです。…o(;-_-;)oドキドキ AN HTTPを使ってではパーミッションを変更でけいませんよね?動作テスト用cgiと同じ所に本来テストしたい○○cgiを入れたのですが・・・( ̄ー ̄; ヒヤリ もしかしてローカルテストの方法そのものが間違っているのでしょうか?Σ( ̄□ ̄lll)

回答No.4

ん?ちょっと確認しますが、 >動作確認用のCGIは表示されるのですが・ この動作確認用のCGIというのがtest.cgiで、これは >http://127.0.0.1/test.cgi とログにある通り、ローカルで正常に動作しているんですよね? そして今回うまく動かないcgiが○○.cgiで、http://127.0.0.1/○○.cgiとリクエストしても表示できない、と。そしてサーバーで動作実績があるcgiをローカルに持ってきて、それをリクエストすると動かない、という事ですね? test.cgiが動いているのでしたら、ローカルのwebサーバー及びperlの実行環境自体には問題はないと思いますね。いくつかcgiがある中で特定のものだけ動き、その他のものがログにも残らないとなると、No3さんのおっしゃる通りパーミッション、実行権限がないのでは、と疑いますね。 ちなみにローカルのWEBサーバーはエラーログは残していないのでしょうか?アクセスしている以上、エラーが出ていたとしても何らかの記録が残ると思うのですが。

celika
質問者

お礼

「>動作確認用のCGIは表示されるのですが・ この動作確認用のCGIというのがtest.cgiで、これは >http://127.0.0.1/test.cgi とログにある通り、ローカルで正常に動作しているんですよね?」 はい。その通りです。 「今回うまく動かないcgiが○○.cgiで、http://127.0.0.1/○○.cgiとリクエストしても表示できない、と。そしてサーバーで動作実績があるcgiをローカルに持ってきて、それをリクエストすると動かない、という事ですね?」 はい。 ローカルのWebサーバーにはエラーログは残ってませんが・・・

  • GINO
  • ベストアンサー率36% (18/50)
回答No.3

サンプルのCGIは動作するなら、怪しいのはパーミッションの気がしますが…。 実行可能になっているか念のため確認してみたらどうでしょう?

celika
質問者

お礼

ローカルテストでパーミッションって関係ありますか?

回答No.2

>ローカルのWEBサーバーのアクセスログに残っている記録は「http://127.0.0.1/」、「http://127.0.0.1/test.cgi」です。 ここに、その動作しないcgiへのアクセスは記録されていないのでしょうか? ちゃんとアクセスがされているとしたら、あとはコードの問題だと思いますので、どのようなスクリプトなのかわからないとなんとも言えません。

celika
質問者

お礼

動作しないcgiへのアクセスは記録されていません。。。( ┰_┰) サーバーで作動しているcgiを、試しにローカルテストしてみたのですが、これもやはり「ページが表示されません」と出てしまいました。

回答No.1

もう少し具体的な情報を書いてくれないと答えようがありません。とりあえず問題の切り分けとして ・テスト対象のCGIがちゃんとリクエストされているか ・ローカルのWEBサーバーのアクセスログにはどのような記録が残っているか を確認しましょう。

celika
質問者

お礼

説明不足で申し訳ございません(*_ _) AN HTTPをインストールし、これを使用してCGI(「test.cgi」としています。)が動作するか確認をしますよね? この動作確認は「http://127.0.0.1/test.cgi」にアクセスして確認できました。 確認ができたので、私がローカルテストしたいCGIにアクセスすると、「ページが表示されません」と出てしまいます。「http://127.0.0.1/○○.cgi」としてアクセスしました。(○○はCGI名) ・「テスト対象のCGI」とは動作確認テストCGIでしょうか? それはリクエストされています。 ・ローカルのWEBサーバーのアクセスログに残っている記録は「http://127.0.0.1/」、「http://127.0.0.1/test.cgi」です。

関連するQ&A

  • ローカル環境でのCGIエラー

    ActivePerlとAn HTTPdでWindowsXP HomeEditionのPC上でCGIを動かそうと思っています。 どちらも最新版をダウンロードしてインストールしました。 ActivePerlに関してはegフォルダ下のexample.plで動作確認が取れています。 An HTTPdに関してはhttp://127.0.0.1以下のURLを指定してページが表示されています。 ですが、htmlからcgiを呼び出そうとすると「ページを表示できません」「サーバーが見つからないか、DNS エラーです。」のエラーが出てしまいます。 試しにcgiファイルをフルパスで指定したのですが同じでした。 ちなみに、簡単なCGIプログラムtest.cgiを作成、サーバにアップして動作を確認しましたがローカルではエラーになります。 また、ローカルでコマンドプロンプトにて c:\usr\local\bin\perl c:\プログラムのパス\cgi-bin\test.cgi と入力すると内容を表示します。 コマンドプロンプトでCGIプログラムのあるcgi-binディレクトリに移動して perl -v と入力するとperlのバージョン情報を表示するので、パスは通っていると思われます。 Au HTTPdのerrors.logには Thu Aug 16 19:21:18 2007 Warning: CGI TerminateProcess 2500 error 5 とりあえず、自分で原因を絞れるであろうところはあたってみたつもりですが、何か見落としていることがあるでしょうか? もしかしたらAu HTTPdに問題があるでしょうか?

    • 締切済み
    • CGI
  • ローカルでのCGIの実行テストの方法を教えてください

    CGIをWindows Meで動作させたいのですが、とほほのWWW入門を見てみると、 ActivePerlとAn HTTPDのソフトを使うとかいてあり、 An HTTPDは雑誌のCD-ROMで入手したのですがActivePerlはありませんでした。 インターネットから入手するしかないのでしょうか?ダイアルアップ接続のため、 時間が掛かりそうだし、なかなかダウンロードする気になりません。 もし他にローカル環境でCGIの動作テストをする方法があれば教えてください。 またAn HTTPDのソフトだけではローカルでのCGIテストはできませんか? それと、とほほのWWW入門に「ActivePerlのオプションであるPerlScriptを インストールした人は、セキュリティに関して十分に注意し、レジストリの修正を 忘れないようにしてください。」と書いてありますが、これはどういう意味ですか? PerlScriptをインストールするのとしないのとではどう違うのですか? 教えてください。よろしくお願いします。

    • ベストアンサー
    • Perl
  • ローカル環境でメールのテスト送信

    サーバにアップする前にフォームメールの送信テストをしたのですがエラーになってしまいます。 PC環境:windowsXP     AN HTTPD     ActivePerl     Radish sendまね~る でサーバ環境を作りました。 ・sendまね~る設定時のテスト送信はできました。 ・CGIでsendmailパスの\を/に変えてもだめでした。 ・フォームメールで入力→確認ページまでは動作します。 ・エラーログにError Response 404 よくある原因などを教えていただきたいです。 宜しくお願いします。

    • ベストアンサー
    • CGI
  • ローカルサーバーでの動作確認

    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" -->の部分が表示されてませんでした. 全くの初心者でどのような情報を開示すればよいのか分からないので必要な情報があれば教えていただけるとありがたいです.

    • ベストアンサー
    • CGI
  • ローカルでにPerl

    ローカルでCGIの動作テストできるようにしたいんですが、どこかでPerlをインストールしなければならない、と 聞いたことがあります。 具体的にはどうしたらいいんでしょうか? ローカルでCGIを動かすために必要なモノがあれば教えて下さい。(必要なソフトウェアのDL先などでもありがたいです) ちなみにOSはWindows Meです。

    • ベストアンサー
    • Perl
  • チェックしようとしたCGI(test.cgi)が見つかりませんとなるのですが、どうしたら良いでしょうか

    HPを現在作成していて問い合わせフォームを作っていますが 問い合わせフォームのCGIがうまく動作しません。 WwwMail Ver3.26では直接ネットから開くとCGIは正常に動作していますと表示されますが いざサンプルページからメール送信をすると500エラーが出てしまいます。 http://www27.tok2.com/home/wanchan/500.htm#3 のエラーチェックcgiで試したら チェックしようとしたCGI(test.cgi)が見つかりません。 ---------------------------------------------------------------- 5.008005 と出ます。 どういった原因でしょうか? よろしくお願いします。

    • 締切済み
    • CGI
  • AN HTTPDでのローカルテストと鯖設定

    昨日CD-ROMを整理していると昔サイト作るのにはまった事があり、以前作ったサイトの大量のフォルダが出てきました。 フォルダはCGIやらCSSやらバラバラで同じサイトで少し更新したものも含まれているもので200個ぐらいのフォルダがごちゃごちゃとできてしまいました。一度整理したことがあったのである程度大きく5~6サイトづつぐらいを何回も更新したり機能やデザインを変えたものがぼろぼろ出てきました。関連付いているCGIのテストを一つ一つHPスペース借りたところに挙げて確認するのは大変なので、AN HTTPDで鯖を立てローカルでやっていたのですが、久しぶりにやったものでKENTWEBの自宅マシンwww鯖計画などを見ながらやっていたのですが、とりあえずローカルでcgiは動くようになったのですが、パーミッションの設定がいらいないからか、自分の作ったhtml上からカウンタとか掲示板のcgiが呼び出せず × のままになってしまいます。(カウンタ部)urlから直にcgiを呼び出すと当然動きます。これは設定でなんとか普通にwebスペースにupしてテストしたみたいに表示出来ないものでしょうか? 後、公開用の設定もしてみたのですがNo-IPでDNS登録をして ​​http://~​​登録したDN~/index.html にしてもindex.htmlが表示されません。pingを打つと通っている事から設定は出来てると思うのですが。。。 グロバIPもローカルのIPに通す為にポートも開いて通ったはずなのですが この二つお分かりの方教えていただけませんか。

  • AN HTTPDローカルテストと鯖公開

    昨日CD-ROMを整理していると昔サイト作るのにはまった事があり、以前作ったサイトの大量のフォルダが出てきました。 フォルダはCGIやらCSSやらバラバラで同じサイトで少し更新したものも含まれているもので200個ぐらいのフォルダがごちゃごちゃとできてしまいました。一度整理したことがあったのである程度大きく5~6サイトづつぐらいを何回も更新したり機能やデザインを変えたものがぼろぼろ出てきました。関連付いているCGIのテストを一つ一つHPスペース借りたところに挙げて確認するのは大変なので、AN HTTPDで鯖を立てローカルでやっていたのですが、久しぶりにやったものでKENTWEBの自宅マシンwww鯖計画などを見ながらやっていたのですが、とりあえずローカルでcgiは動くようになったのですが、パーミッションの設定がいらいないからか、自分の作ったhtml上からカウンタとか掲示板のcgiが呼び出せず × のままになってしまいます。(カウンタ部)urlから直にcgiを呼び出すと当然動きます。これは設定でなんとか普通にwebスペースにupしてテストしたみたいに表示出来ないものでしょうか? 後、公開用の設定もしてみたのですがNo-IPでDNS登録をして http://~登録したDN~/index.html にしてもindex.htmlが表示されません。pingを打つと通っている事から設定は出来てると思うのですが。。。 グロバIPもローカルのIPに通す為にポートも開いて通ったはずなのですが この二つお分かりの方教えていただけませんか。

  • AN HTTPとActivePerlでローカルで動作させたい

     perlの勉強をはじめるため、ローカルでperlを使える環境を作ろうとしています。ActivePerl618とAN HTTP Server 1.31を使用しています。  まず、それぞれをインストールしsimple.cgiを作成、それをC:\httpd131/cgi-bin/に保存。IEでhttp://127.0.0.1/cgi-bin/simple.cgiを入力しました。けれどHTTP500内部サーバーエラーと出て表示されません。一体どうしてなのでしょうか?IEの設定か何かを変更するのでしょうか?  もし、これを読んでくださっている方が PCJapan 2000年11月号 をお持ちでしたらわかりやすいと思うのですが・・・。(もしくはこのサイトにまったく同じものがあります。http://www.zdnet.co.jp/magazine/pcjapan/0011/sp3/ )2000年11月号 98ページ 図5写真10 (サイトのページで言うと8/14の図5 写真10の文章です。)に---以下抜粋---エラーが出て表示されない場合は「C」-「Perl」にあるファイルをAN HTTPの「cgi-bin」にコピーしてから試みよう。---以上抜粋---と書いてあるのですが、一体C:\Perlのどのファイルをコピーするのでしょうか?試しにC:\Perl\bin のファイルをコピーしてMS-DOSプロンプトで先ほど作成したsimple.cgiを実行したところちゃんと動きました。けれどIEでやってもまったく動きません。これ以前(97ページ)の動作テスト(cgiが動作するかAN HTTPのテスト)は全てうまくいきました。IEでローカルでcgiを実行するにはどうしたらよいのでしょうか?ちなみにOSはWindows98SE IEのバージョンは5.50.4807.2300 SP2です。どうかお助けください。よろしくお願いします。

    • ベストアンサー
    • Perl
  • ローカルでPHPファイルが実行されません

    http://localhost/test.php <?php phpinfo(); ?> 見ると、タグがそのまま表示されてしまい、実行されません。 何を直せばローカルでも動くようになりますか? Win8.1 アパッチインストール済 サーバー上にアップしてみると、きちんと動作確認できます。 文字コードUTF-8 BOMなし ・・でもアップする前にローカルで確認したいんです。 php.ini ファイルがないのが原因でしょうか。 詳しい方、よろしくお願い致します。

    • ベストアンサー
    • PHP

専門家に質問してみよう