ラウンジが動きません

[上に] [前に] [次に]
やっこちゃん 2000/03/01(水) 12:50:28
とほほさんの ラウンジをDLLして WINNT環境で動かそうとしましたが、
以下のようなエラーが出てしまいました。
同じフォルダに、簡単なPERLのCGIをおいて動かす分には正常に動きます。
PERLはまったくの初心者なので、手がつけられません。
よろしくお願いします。


CGI Error
The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are:


Can't locate jcode.pl in @INC (@INC contains: C:/MyAp/Perl/lib C:/MyAp/Perl/site/lib .) at D:\Inetpub\scripts\cgi-bin\ToHo_Lounge\wwwlng.cgi line 23.

Selly 2000/03/01(水) 13:46:58
エラーメッセージを読もうと努力しましたか?
ちゃんと「Can't locate jcode.pl in @INC」と原因が書かれています。

ふじ 2000/03/01(水) 14:49:08
IISって、CGIファイルのある場所と実行時のカレントディレクトリが
違うことがあるんですよね。

で、wwwlng.cgi と同じディレクトリに jcode.pl を入れてても
require できないんでしょう。
#この場合、多分カレントが D:\Inetpub\scripts\cgi-bin になってると思う。

require 'jcode.pl';
の前に、
chdir 'D:\Inetpub\scripts\cgi-bin\ToHo_Lounge';
を追加すると上手くいくかも。

Selly 2000/03/01(水) 15:17:49
> IISって、CGIファイルのある場所と実行時のカレントディレクトリが違うことがあるんですよね。

ですが、質問者の方が書かれたエラーメッセージはan httpdのものみたいです。
(500のエラーメッセージにPerlのエラーメッセージが含まれていることからの推測です)
次からはちゃんとサーバの種類、Perlのバージョンくらい書いてくださいね>質問者の方

ふじ 2000/03/01(水) 15:50:21
IIS3 も、
--------------
CGI エラー

指定された CGI アプリケーションは、HTTP ヘッダーを一部しか返していません。返されたヘッダーは:

Can't locate aaa in @INC (@INC contains: c:\perl\lib c:\perl\site\lib .) at D:\InetPub\scripts\hoge\printenv.cgi line 3.
--------------
みたいなエラーメッセージを返しますし。
#っていうか、 D:\Inetpub\scripts\ < このディレクトリ名
#で IIS かな、と。

ま、でも確かにサーバの種類が分からないと推測せざるを得ないのは確かですが。

Selly 2000/03/01(水) 23:10:42
あ、確かに…<ドキュメントルート
#どーも、私の推測の方がハズレっぽい…

やっこ 2000/03/02(木) 13:00:53
[[解決]]
みなさん、いろいろ回答ありがとうございます。

 情報不足でもうしわけありません。
 下記のような環境です。
  PERL = 522e(API522e.exe)を利用しています。
  サーバ = IIS4(オプションパック4)

  Sellyさんのおっしゃるとおりにディレクトリを移行してみると、
 
  CGIが動作するようになりました。

   よく読めば『Windows NTでのCGIについて』の項にもしっかりとかかれていますよね。
   これは読んでいたんですが、意味がよくわからなかったというのが
   本当のところです。

   ご協力ありがとうございました。勉強します。
 

   

[上に] [前に] [次に]