IIS/PHPのサイトでたまにCGIエラーが出る原因と対応方法

このQ&Aのポイント
  • IIS/PHPのサイトでたまにCGIエラーが表示されます。エラーが出た時はF5キーまたはCtrl+F5で正常に表示されるようになります。
  • サイトを立ち上げてしばらくは問題なく閲覧できていましたが、IISの設定をいじった後にサイトが表示されなくなり、設定を戻しても復旧せず、上記のエラーが表示されるようになりました。
  • また、同時期よりページの読み込みが遅くなりました。ブラウザのタブの部分のアイコンが5秒以上くるくる回っている状態です。原因と対応方法を調査中です。
回答を見る
  • ベストアンサー

IIS/PHPのサイトでたまにCGIエラーが出ます

ISS6.0上で、PHPで作成したイントラサイトを運用しています。 サイトを閲覧していると、たまに以下のエラーが表示されてしまいます。 CGIerror The specified CGI application misbehaved by not returning a complete set of HTTP headers. サイトを開いた時に初めから表示されることもあれば、最初は普通に見れていたのにページを遷移しようとしたときに突然表示されることもあります。 エラーが出たときは、F5キーを1回または複数回押したり、Ctrl+F5で正常に表示されるようになったりします。 経緯として、サイトを立ち上げてしばらくは問題なく閲覧できていたのですが、少し前にIISの設定をいじったところサイトが表示されなくなってしまいました。 慌てて設定を戻したつもりが復旧せず、さらにいじっていたところ表示はされるようになったものの、上記エラーがたびたび表示されるようになってしまいました。 (ここで変更内容を記録しておかなかったのがそもそもいけなかったのですが。。。) また、同じ原因かは分かりませんが、同時期よりページの読み込みが異様に遅くなりました。 ページは表示されるのですが、ブラウザのタブの部分のアイコンが5秒以上くるくる回っている状態です。(IE、Chromeにて確認) "Hello, World!"を出力するだけのページでテストしても同様です。 (htmlのページは即表示されます。) 以上2点(エラー、読み込みが遅い)について、原因・対応方法を調べています。 ほぼ初心者で、何の情報を提示すればよいかも分からないのですが、不足などありましたらご指摘頂けると幸いです。 ヒント程度でも結構ですので、どうぞ宜しくお願い致します。 ---------- WindowsServer2003 R2(SP2) IIS 6.0 PHP 5.2

  • PHP
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
回答No.2

>> 502エラーは毎日数十~100件程度出ているようです。 これが起きたタイミングと、ご質問の現象の発生時間は一致すると思うのですが如何でしょうか。 サーバー側から応答がないのでクライアント側は待機状態となり、 サーバー側にはクライアント間機器(もしくはバックエンド)と通信できないので502が記録されている、 と考えれば辻褄は合います。 色々考えられますが、まずはIISのログを詳細に記録するように変更してみては?

chiyori_qil
質問者

お礼

有難うございます。やってみたいと思います。 エラーについても全く詳しくないので調べてみます。 またご報告いたしますので、よろしければまたご意見いただけると助かります。 よろしくお願い致します。

chiyori_qil
質問者

補足

ご報告が遅くなり失礼致しました。 ご回答いただいた後、ログの設定を変更して中身を見てみたり、そこから色々と調べてみたのですが、 どうやらfastCGI関係の設定が間違っていたようです。 fcgiext.iniファイル内に記述されていたphpのバージョンがおかしかったのを修正し、 (php5.2と5.3がインストールされており、使用していない方のバージョンの記述になっている箇所があった) IISのマッピングの設定で、.phpのパスがphpのインストール先フォルダになっていたのを 『C:\WINDOWS\system32\inetsrv\fcgiext.dll』に変更したら 502が記録されなくなりました。 実際のサーバの状況を理解せず、 たまたまどこかのサイトで見つけた記述を、そのまま設定してしまったのだと思います。 そもそもPHPが動く仕組みについて全く理解していなかったことを痛感しました。 アドバイスを頂き、大変参考に、また勉強になりました。 本当に有難うございました。

その他の回答 (1)

回答No.1

力になれるか微妙ですが、とりあえず現状では推測もできません。 あったらいいなと思う情報ですが、 1. サイトを開くパソコンと、IIS 6.0が稼動しているサーバーとの間に、Proxyは存在していますか? →IISと相性が悪いProxyがあり、似た様な状況になることがある。 2. サイトに「開く度に背景や見た目が変わる」等の動的な処理はありますか? →特定の処理でエラーが起きている可能性がある。 3. WindowsServerのイベントログや、IISのログにエラーが記録されていませんか? →大体の障害の詳細はここに記録されています。

chiyori_qil
質問者

お礼

ご回答有難うございます。 お返事が遅くなり失礼いたしました。 ご質問いただいた件ですが、 1.Proxyは存在していません。 2.動的な処理は特にありません。 ちなみにPHPで記述しているのも、各ページ共通のヘッダーやサイドバーを読み込む部分くらいです。 3.当エラーは毎日出ていると思いますが、イベントログにはエラーや警告は出ていないように見受けれられます。 IISのログは解析方法を調べつつ見ていますが・・・ ひとまずここ1週間ほどですと、404エラーは毎日数百~1000件以上、502エラーは毎日数十~100件程度出ているようです。 上記エラーの内容などもまだ調べられていませんが、他になにか見つけられたらご報告します。 引き続きご協力いただけますと幸いです。 よろしくお願い致します。

関連する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 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
  • CGIエラー

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

    • ベストアンサー
    • CGI
  • PHPの動作確認の際にエラー表示されます。

    PHPの動作確認の際にエラー表示されます。 OS XP PHP ver5.2.0 上記環境でサイトを作成しているのですが下記エラーメッセージが表示されてしまい どこを見たらいいのか分からない状態です。 The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are 上記メッセージのみ表示されています。 他のサイトを見ると何行目がおかしいか表示されているみたいなのですが・・・ どこを直したらいいのか教えていただけますでしょうか。

    • 締切済み
    • PHP
  • CGI Errorが分かりません(IIS+PHP5+ActivePerl-5.8.7)

    初心者です。 http://kikuz0u.x0.com/memo/の Cacti (RRDToolフロントエンド) ~ Windows編 ~ を参考に今Cactiのインストールを行っていて CGI Error The specified CGI application misbehaved by not returning a complete set of HTTP headers. The headers it did return are: Cannot find module (IP-MIB): At line 0 in (none) Cannot find module (IF-MIB): At line 0 in (none)  ・  ・  ・  ・ 他 と表示されて、Cactiの初期設定画面が表示されない状態です。 phpinfoの確認では問題ありません。 moduleはmibsフォルダにあるファイルだと思うのですが システム環境変数でD:\PHP\extras\mibsで登録はしてます。(PHPインストールはDドライブ) 素人なので全く分かりません、、、 確認方法も分からない状態です。

  • 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
  • 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 対応策の正解が書いてある気がするのですが、英語がわからず途方にくれております… どうか解決するのにお力を貸して頂けませんでしょうか。 よろしくお願い致します。

  • 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

専門家に質問してみよう