トップ 差分 一覧 Farm ソース 検索 ヘルプ RSS ログイン

BBS-サポート掲示板/775

ページの作成や編集にはユーザ登録が必要です。

 2003R2とIIS6.0の組合せでCGIエラー - ひつじ (2007年11月16日 14時28分02秒)

先日までXPとActivePerl5.88とAnhttpdの組合せで利用していたものを、WindowsServer2003R2+IIS6.0+ActivePerl5.88に移行させようとしています。

すると以下のメッセージになってしまいます。

CGI ErrorThe specified CGI application misbehaved by not returning a complete set of HTTP headers.

これ以外は表示されません。

結果的にFSWIKI以外は通常通り表示できますが、FSWIKIだけ動きません。setup.cgiなどが動く事から、wiki.cgiの内容がおかしいようです。

過去の掲示板を参照して以下のパッチは適用しています。

--- wiki.cgi.orig	Thu May 25 00:05:27 2006
+++ wiki.cgi	Thu May 25 00:20:43 2006
@@ -9,6 +9,10 @@
		# カレントディレクトリの変更
		chdir($ENV{FSWIKI_HOME});
	}
+	# 壊れた PATH_INFO への対処例
+	if($ENV{PATH_INFO} && $ENV{PATH_INFO} =~ s/^.*?wiki\.cgi//) {
+		$ENV{SCRIPT_NAME} .= $1;
+	}
}

#==============================================================================

}

#==============================================================================

ですが現象変わらずです。何か他に対処方法をご存知の方いらっしゃらないでしょうか?

  • 私も以前 PerlIS.dll を使用していたときに同様な現象が発生したような記憶があります。レスポンスヘッダが正しい順序で出力されていなかったのが原因だったような・・・なぜそうなるかまでは調べませんでしたが。とりあえずの対処法で以下のような修正を wiki.cgi に加えました。 - KG (2007年11月16日 14時58分40秒)
BEGIN {
	if(exists $ENV{MOD_PERL}){
		# カレントディレクトリの変更
		chdir($ENV{FSWIKI_HOME});
	}
+	#==============================================================================
+	# IISの場合(PerlIS.dll使用時のみ)
+	#==============================================================================
+	if ($ENV{SERVER_SOFTWARE} =~ /^Microsoft-IIS/) {
+		print "HTTP/1.0 200 OK\n";
+	}
       :
  • 「/^Microsoft-IIS/」の部分は「/^Microsoft\-IIS/」っぽい…。>KG殿 - あき (2007年11月16日 15時06分55秒)
  • あっ、本当だ(汗) - KG (2007年11月16日 16時22分22秒)
お名前: コメント:

最終更新時間:2007年11月16日 16時22分22秒