• ベストアンサー

ローカルテストで・・・

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

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

  • ベストアンサー
  • 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