IISサーバでCGIが正常に動作せずに困っております。Linux環境で問題なく動作していた簡単なCGIを、Windowsサーバ(Windows Server 2003 R2_Standard Edition,IIS 6.0)に設置したところ、エラーメッセージは一切出ないのですが、本来パスワード認証のためのID、パスワード入力画面が出るべきところ、まったく白紙のページが表示されてしまいます。CGIは本体とは別に、jcode.plとcgi-lib.plを使用しています。どのような原因が考えられるでしょうか?よろしくお願いいたします。

回答の条件
  • 1人3回まで
  • 登録:
  • 終了:2008/07/29 14:57:18
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答2件)

id:tezcello No.1

回答回数460ベストアンサー獲得回数69

ポイント35pt

文字コード(エンコード)の不一致がありませんか?(HTTPヘッダの指定や、スクリプト、サーバの内部エンコードなど)

また、jcode.pl はユニコードに非対応だったのでは? Jcode.pm で対応されたのだったと思いますが、最新の Perl でしたら、Encode として標準装備になっていたと思います。


cgi-lib.pm は過去に使った事がありましたが、バージョンが違いで生成されるHTMLコードが異なってた記憶があります。(何らかの修正があって然るべきなので、その事自体が問題ではないのですが)

それが今回のよく分からない動きの原因ではないのかは確認してみてもよいでしょう。


パスワードの入力画面は、スクリプトが生成したHTML表示しているのでしょうけれど、これ以外のページも同じような状態なのか、このページにのみ起こる問題なのかが解決の糸口になりませんか?

  例えばスクリプトが生成するHTMLコードをファイルに保存してみる

  スクリプトで生成予定のHTMLをハードコードしてみる

  単純な Hello World だとかを表示してみる

  etc.

ひょっとすると、別のブラウザ(FFとか)ではチャンと表示できたりして...


エラーが一切でない(「表示されない」ではなく、エラーログとして残らない)のは、エラーではないから でしょう。

空白のページが返ってくるという事は、サーバ的には一応処理を完了しているのでしょうから。

(CGIから表示すべきデータが返って来なかっただけ。)

スクリプト側で、パスワードファイルをオープンできなかった時(パーミッションなど)のロジックは大丈夫でしょうか?(テスト用に強制終了していたりとか)

id:mathematician

早速のご回答ありがとうございます。まず文字コードを確認してみます。

2008/07/28 12:17:37
id:mouitchou No.2

回答回数174ベストアンサー獲得回数5

ポイント35pt

ブラウザからソースを確認して、何か出力されていないでしょうか。

それをキーに、現象を切り分けるのがいいと思います。

WEBシステム開発 : Webサーバー構築:IIS-5.1(WindowsXP Professional)の設定

まさかと思いますが、ActivePerlなどがインストールされていないということは無いでしょうね。

id:mathematician

ご回答ありがとうございます。紹介いただいたページを参考に、IISの設定を再度チェックしてみます。

2008/07/28 12:18:48
  • id:tezcello
    終了したという事は、解決したのでしょうから喜ばしい事なんですが...

    原因が何だったかはチョッと気になります。
    教えてはいただけませんか? >質問者さん

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません