- ベストアンサー
ローカルテストで・・・
CGIのローカルテストをしようとすると、「ページが表示されません」と出てしまいます。 動作確認用のCGIは表示されるのですが・・・ 何が原因なんでしょうか?
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
No3.です。 AN HTTPって良く分かりませんが、下記のURLを発見しましたので 一応ご参考まで。 見ているとは思いますが…。 役に立てなくてすいません。
その他の回答 (5)
- GINO
- ベストアンサー率36% (18/50)
No.2です。 >ローカルテストでパーミッションって関係ありますか? 何をもってローカルテストと言っているかちょっと良く分からないのですが、 通常は関係あると思います。 なぜなら実行許可がないプログラムをローカルだろうがサーバだろうが、い くら実行しようとしても権限無ければ実行できないからです。 参考までに、おいらがCGI組んだ時はどのようにテストするか書きますね。 1.コマンドで○○.cgiを実行してバグ取り。かつ実行権限の確認 2.ローカルのWebサーバから○○.cgiを実行してみて、Webサーバのユーザ での実行権限の確認とバグ取り。 3.サーバで2.と同様の確認(サーバ上のファイルとかを更新する場合、 ここでそのファイルへのパーミッションの問題も出てくるので)。 問題が発生した時、切り分けが楽ですよ。 #やっているとは思いますが。 ここで、2.のステップがローカルテストと呼んでいるのだと判断しています が、合ってるでしょうか?
お礼
説明不足でごめんなさい。 ローカルテストはAN HTTPを使ってのテストです。…o(;-_-;)oドキドキ AN HTTPを使ってではパーミッションを変更でけいませんよね?動作テスト用cgiと同じ所に本来テストしたい○○cgiを入れたのですが・・・( ̄ー ̄; ヒヤリ もしかしてローカルテストの方法そのものが間違っているのでしょうか?Σ( ̄□ ̄lll)
- wakame0729
- ベストアンサー率32% (245/765)
ん?ちょっと確認しますが、 >動作確認用の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サーバーはエラーログは残していないのでしょうか?アクセスしている以上、エラーが出ていたとしても何らかの記録が残ると思うのですが。
お礼
「>動作確認用の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)
サンプルのCGIは動作するなら、怪しいのはパーミッションの気がしますが…。 実行可能になっているか念のため確認してみたらどうでしょう?
お礼
ローカルテストでパーミッションって関係ありますか?
- wakame0729
- ベストアンサー率32% (245/765)
>ローカルのWEBサーバーのアクセスログに残っている記録は「http://127.0.0.1/」、「http://127.0.0.1/test.cgi」です。 ここに、その動作しないcgiへのアクセスは記録されていないのでしょうか? ちゃんとアクセスがされているとしたら、あとはコードの問題だと思いますので、どのようなスクリプトなのかわからないとなんとも言えません。
お礼
動作しないcgiへのアクセスは記録されていません。。。( ┰_┰) サーバーで作動しているcgiを、試しにローカルテストしてみたのですが、これもやはり「ページが表示されません」と出てしまいました。
- wakame0729
- ベストアンサー率32% (245/765)
もう少し具体的な情報を書いてくれないと答えようがありません。とりあえず問題の切り分けとして ・テスト対象のCGIがちゃんとリクエストされているか ・ローカルのWEBサーバーのアクセスログにはどのような記録が残っているか を確認しましょう。
お礼
説明不足で申し訳ございません(*_ _) 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」です。
お礼
解決しました。 ありがとうございました。