• ベストアンサー

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で動くものをご存知の方居ましたらそのような回答でも構いません。

  • CGI
  • 回答数3
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • PED02744
  • ベストアンサー率40% (157/390)
回答No.3

ANo.2さんの回答に蛇足をつけちゃいますと。 http://homepage1.nifty.com/yito/anhttpd/faq/index.html#Q20 これはActivePerl5.8ベースの回答ですが、symlink等相当数の関数が未対応です。 適当なものに書き換える必要があります。 セマフォ・入出力・コール に対する関数は使わないですむ方法を考える(代替方法がないから) その他の部分は別の関数で代替を考える。代替できそうにないなら、使わないですむ方法を考える。 ってことですね。

その他の回答 (2)

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.2

> The symlink function is unimplemented at ./joyful2ch-lib.pl line 102 symlink ってのがPerlの組み込み関数のそれであるなら、 WindowsにはUnixにあるようなシンボリックリンクはありませんから #細かいこというと似たようなのはあるらしいですが そのスクリプトは少なくともそのままではWindows上の システムでは動かないものです。 symlinkを何のために使っているのか不明ですが、 何かの資源のロックのために使っているのであれば 代替手段をとるようにスクリプトを書き直す等の 手立てが必要でしょう。

  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.1

#解決方法ではありません。 > 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 エラーメッセージ」が表示されるのではないでしょうか? それを元に原因調査・対策策定が必要なのでは?

関連するQ&A

  • CGIのエラー

    やっとIISにPerlを組み込むことができたのですがエラーが出て先に進めません cgiを実行すると CGI Error The specified CGI application misbehaved by not returning a complete set of HTTP headers. と表示されます 何が何だかさっぱりわかりません ご指導願います

  • CGI ErrorでCGIが動かない。。

    Windows2000上で、IISでCGIを動かそうとしているのですが、 「CGI Error The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are: 」 (are:の以下には何も無い) とブラウザに表示されて動きません。何が考えられますか? 実行権限も与えているし、ファイル名を間違ってもいないのですが・・・

    • 締切済み
    • CGI
  • CGIエラー

    ホームページにCGIを設定したら下記エラーが発生したのですが、どこの行がエラーになったかが表示されません… もしわかりましたら教えて下さい。 CGI Error The specified CGI application misbehaved by not returning a complete set of HTTP headers.

    • ベストアンサー
    • CGI
  • CGIエラー

    CGI Error The specified CGI application misbehaved by not returning a complete set of HTTP headers. というエラー表示がデスクトップに出てきたまま消えなくなりました。再起動してもだめです。 グループウェアの掲示板に貼り付けてあったWebページを見ようとしたところ、開けなかったうえこういったエラーが出てしまいました。 どなたかお願いします。

    • ベストアンサー
    • CGI
  • たびたび表示される”CGI Error”

    フリーのCGIや、PHPをレンタルサーバで動かしているんですが、 以前は問題なかったのに、最近下記のエラーメッセージが頻繁に出る用になりました。 --------------------- CGI Error The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are: --------------------- しかも、再読み込みをしなおせば、CGIもPHPも動作しています。 これはプログラム側の問題でしょうか? それともサーバ側の問題でしょうか? ご存知の方、教えてください~~。

    • 締切済み
    • CGI
  • Windows2003サーバーでのexeのCGI

    Windows2003サーバー(正確にはSmallBusinessServer)のIISにて、C++で作成されて、exeになったCGIを動作させると、「CGI Error The specified CGI application misbehaved by not returning a complete set of HTTP headers」 というエラーが発生し、なにをどう設定しても直りませんでした。 当のexeファイルは、Windows2000ServerやXPのIISでは正常に動作しております。 多分アクセス権や、実行許可などの設定の問題と思い、いろいろとやってみたのですが、うまくいきませんでした。 やり方をご存じの方は、なにとぞご教授お願いします。

  • JoyfulNoteの設定

    掲示板(CGI)初心者です。 プログラムの設置例http://www.kent-web.com/bbs/joyful.html?を見ながら、掲示板の設定を進め、レンタルサーバー(プレミアサーバー)にアップロードしてみましたが、 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 at \\EX2KFTP02\EX2K_HostWebSite\zicnet\joyful\joyful.cgi line 44. というエラーが出ます。 プレミアサーバーのヘルプを見ているのですが、 書いてあるままにやっているので、応用が利きません。 何をどう直したらいいのか、教えてください。 もし、まず本を読んだほうが良いなどあれば、 お勧めの本などを教えてください。よろしくお願いします。

    • ベストアンサー
    • CGI
  • CGIエラー

    アクセス解析のCGIを設置しようとしてるのですが、動作確認の際に、以下のエラーが出ます。 The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are: Can't locate config.pl in @INC (@INC contains: C:/Perl/lib C:/Perl/site/lib .) at C:\daishin_www\cgi-bin\access\accview.cgi line 83. CGIを設置するのはこれが初めてなので、このエラー文が何を言いたいのか、どこを直せば動くようになるのか、ぜんぜんわからずに困っています。 どなたか教えて頂けませんか? サーバーは自社サーバーでWindowsです。

    • ベストアンサー
    • CGI
  • CGIエラー

    CGIビギナーです。 イントラネットで使用しているパソコンをWEBサーバーとして掲示板を設置したいとおもっていますが、CGIエラーがでます。 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 at c:\inetpub\wwwroot\AAA\BBB\CCC\DDD.cgi line 34. CGI自体は以下のCGIファイルで試したところ、 ちゃんとIEで表示されました。 #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<HTML><BODY>\n"; print "<H2>Hello!</H2>\n"; print "</BODY></HTML>\n"; exit; なので、CGIとしては動作できる環境になっているとおもっていて、ソースの間違いだろうなぐらいしか分かりません。 (ビギナーが)間違えそうなところをご指摘お願いします。 OS WINDOWS2000 PRO IIS5.0

    • 締切済み
    • CGI
  • IISでMovableTypeを設定していますがCGIエラーになります

    Windows2003ServerにIIS6.0を設定して、MovableType3.3を設定しようとしています。 使用DBはsqliteです。 mt-check.cgiは無事に完了しましたが、その後mt.cgiにアクセスするとCGIエラーになり The specified CGI application misbehaved by not returning a complete set of HTTP headers. というメッセージが表示されます。 いろいろ調べ、IISで運用する場合に、MovableTypeのcgiファイルを カレントディレクトリであるCドライブ以外の場所の保存すると エラーになってしまうのではという結論に達しました。 が、その後どう対策すれば良いのか対策が見つからず困っています… cgi-binはDドライブに設置しており サーバでは既に別のアプリケーションが運営されているため Cドライブに移行することはできません。 下記URLの対策は行ってみましたが、効果はありませんでした。 http://www.horijp.com/blog/archives/2005/02/iismovabletype.html いろいろ探して下記URLを見つけたのですが、 http://www.sixapart.com/movabletype/kb/known/cgi_error_on_ii.html 対応策の正解が書いてある気がするのですが、英語がわからず途方にくれております… どうか解決するのにお力を貸して頂けませんでしょうか。 よろしくお願い致します。