好きな「お肉」は?

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

A 回答 (2件)

>> 502エラーは毎日数十~100件程度出ているようです。



これが起きたタイミングと、ご質問の現象の発生時間は一致すると思うのですが如何でしょうか。

サーバー側から応答がないのでクライアント側は待機状態となり、
サーバー側にはクライアント間機器(もしくはバックエンド)と通信できないので502が記録されている、
と考えれば辻褄は合います。

色々考えられますが、まずはIISのログを詳細に記録するように変更してみては?

この回答への補足

ご報告が遅くなり失礼致しました。
ご回答いただいた後、ログの設定を変更して中身を見てみたり、そこから色々と調べてみたのですが、
どうやらfastCGI関係の設定が間違っていたようです。

fcgiext.iniファイル内に記述されていたphpのバージョンがおかしかったのを修正し、
(php5.2と5.3がインストールされており、使用していない方のバージョンの記述になっている箇所があった)
IISのマッピングの設定で、.phpのパスがphpのインストール先フォルダになっていたのを
『C:\WINDOWS\system32\inetsrv\fcgiext.dll』に変更したら
502が記録されなくなりました。

実際のサーバの状況を理解せず、
たまたまどこかのサイトで見つけた記述を、そのまま設定してしまったのだと思います。
そもそもPHPが動く仕組みについて全く理解していなかったことを痛感しました。

アドバイスを頂き、大変参考に、また勉強になりました。
本当に有難うございました。

補足日時:2013/09/03 10:23
    • good
    • 0
この回答へのお礼

有難うございます。やってみたいと思います。
エラーについても全く詳しくないので調べてみます。

またご報告いたしますので、よろしければまたご意見いただけると助かります。
よろしくお願い致します。

お礼日時:2013/07/08 09:37

力になれるか微妙ですが、とりあえず現状では推測もできません。



あったらいいなと思う情報ですが、
1. サイトを開くパソコンと、IIS 6.0が稼動しているサーバーとの間に、Proxyは存在していますか?
→IISと相性が悪いProxyがあり、似た様な状況になることがある。

2. サイトに「開く度に背景や見た目が変わる」等の動的な処理はありますか?
→特定の処理でエラーが起きている可能性がある。

3. WindowsServerのイベントログや、IISのログにエラーが記録されていませんか?
→大体の障害の詳細はここに記録されています。
    • good
    • 0
この回答へのお礼

ご回答有難うございます。
お返事が遅くなり失礼いたしました。

ご質問いただいた件ですが、

1.Proxyは存在していません。

2.動的な処理は特にありません。
ちなみにPHPで記述しているのも、各ページ共通のヘッダーやサイドバーを読み込む部分くらいです。

3.当エラーは毎日出ていると思いますが、イベントログにはエラーや警告は出ていないように見受けれられます。
IISのログは解析方法を調べつつ見ていますが・・・
ひとまずここ1週間ほどですと、404エラーは毎日数百~1000件以上、502エラーは毎日数十~100件程度出ているようです。
上記エラーの内容などもまだ調べられていませんが、他になにか見つけられたらご報告します。

引き続きご協力いただけますと幸いです。
よろしくお願い致します。

お礼日時:2013/07/05 18:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報