- ベストアンサー
IIS6.0/5.0でCGIがエラーになる。
お世話になります。 WindowsServer2003(WebEditon)SP1,32Bit+IIS6.0+AvtivePerlを利用して自宅サーバーを公開のため、テストをしていますが、掲示板の設置に際して、CGI関連で色々と問題が発生して困っております。 掲示板に利用するCGIはフリーのもので 「joyful2ch」http://www.supra.cx/joyful2chMe/index.html 「joffulNote」http://www.kent-web.com/bbs/joyful.html のどちらかを利用する予定でテストしていますが、両方とも問題が発生してしまいます。 joyful2chの方は CGI Error The specified CGI application misbehaved by not returning a complete set of HTTP headers. というエラーメッセージが出ます。発生するのは書き込みを行おうとした時です。掲示板自体は表示されますし、管理画面などにも入れます。HelloWorldなどと表示する簡単なCGIは動きますので、CGI自体の実行が出来る環境は出来ているものと思います。 joyfulNoteの方は ERROR! OpenError ./data/count.cgi というエラーメッセージが出ます。この他にもフリーの掲示板を色々試してみましたが、ほとんどのCGIで書込みなどの際に CGI Error The specified CGI application misbehaved by not returning a complete set of HTTP headers. というエラーが発生してしまいます。 WebやOkWebの過去ロクで検索をすると requireの部分など、読み込むファイルのパスに指定について chdirなどでディレクトリを変更する アクセス権を変更する。 などの情報が見つかりましたので一通り試しましたが、結果は変わりません。(プログラムに関する知識が殆ど無いので、パスとディレクトリ変更に関しては設定法が間違ってる可能性はアリです。)アクセス権に関しては試験的に全てフルコントロールにしてあります。 行き詰ったのでしまいこんでいた「Windows2000Server」を持ち出し仮想マシンにインストールし試してみましたが、上記2つのjoyfulCGIに関しては結果は変わりません。joyful2chに関しては The symlink function is unimplemented at ./joyful2ch-lib.pl line 102 と言うエラーが2000Serverでは追加で表示されてます。 IIS使うならASPを使えと言うご意見があるのは十分承知しています。しかしながら、有料も含めてもASPの掲示板などを公開しているサイトはほとんど無いですし、CGIの方がデザインなども自由に選べ選択肢が豊富なのでCGIと使おうと思っています。 何か情報をお持ちの方、書き込みお待ちしております。 上記2つの掲示板以外に似たような掲示板でIISで動くものをご存知の方居ましたらそのような回答でも構いません。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ANo.2さんの回答に蛇足をつけちゃいますと。 http://homepage1.nifty.com/yito/anhttpd/faq/index.html#Q20 これはActivePerl5.8ベースの回答ですが、symlink等相当数の関数が未対応です。 適当なものに書き換える必要があります。 セマフォ・入出力・コール に対する関数は使わないですむ方法を考える(代替方法がないから) その他の部分は別の関数で代替を考える。代替できそうにないなら、使わないですむ方法を考える。 ってことですね。
その他の回答 (2)
- sakusaker7
- ベストアンサー率62% (800/1280)
> The symlink function is unimplemented at ./joyful2ch-lib.pl line 102 symlink ってのがPerlの組み込み関数のそれであるなら、 WindowsにはUnixにあるようなシンボリックリンクはありませんから #細かいこというと似たようなのはあるらしいですが そのスクリプトは少なくともそのままではWindows上の システムでは動かないものです。 symlinkを何のために使っているのか不明ですが、 何かの資源のロックのために使っているのであれば 代替手段をとるようにスクリプトを書き直す等の 手立てが必要でしょう。
- dsuekichi
- ベストアンサー率64% (171/265)
#解決方法ではありません。 > IIS使うならASPを使えと言うご意見があるのは十分承知しています。> しかしながら、有料も含めてもASPの掲示板などを公開しているサイトはほとんど無いですし、 > CGIの方がデザインなども自由に選べ選択肢が豊富なのでCGIと使おうと思っています。 でも、その『豊富な「CGI」』は、「IISをちゃんとサポートしていない」のでは・・・ 基本的には、Apache等のサーバでで動作する事を前提に作成されていると思います。 ですから、何もしないでIIS上でちゃんと動作させるのは簡単にはいかないのでは・・・ とりあえずMSのHPに、こんな記事がありました。 「"The specified CGI application misbehaved" エラー メッセージが表示される」 (http://support.microsoft.com/kb/145661/ja) 上記のメッセージの後に、 「The headers it did return are: 」 と、「間違ったヘッダ情報 or エラーメッセージ」が表示されるのではないでしょうか? それを元に原因調査・対策策定が必要なのでは?