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/28 07:35:28
  • 終了:2008/07/29 14:57:18

回答(2件)

id:tezcello No.1

tezcello回答回数460ベストアンサー獲得回数692008/07/28 09:24:14

ポイント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

mouitchou回答回数173ベストアンサー獲得回数52008/07/28 11:40:04

ポイント35pt

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

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

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

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

id:mathematician

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

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

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

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

トラックバック

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません