Php-cgi.exeを使用するようにFastCGIを使用してIIS6をセットアップしました。
テスト環境で実行しようとしている、外部の関係者によるphpWebサイトがいくつかあります。
単純なWebサイトの1つで、FastCGIエラーページが表示されます。これはすべてのページで発生するわけではなく、一部のページで発生しているように見えますが、他のページは正しく表示されています。
私は調べました
ただし、IIS Webサイトログに500ページの戻りが記載されている場合を除いて結果はありません。
ページは次のようになります。
FastCGIエラー
FastCGIハンドラーは要求を処理できませんでした。エラーの詳細:
FastCGIプロセスが予期せず終了しましたエラー番号:-1073741571(0xc00000fd)。エラーの説明:不明なエラーHTTPエラー500-サーバーエラー。インターネットインフォメーションサービス(IIS)
回答
どうやら、エラーメッセージはスタックオーバーフローを意味するので、デバッグがメッセージです。私はPHP開発者ではないので、これはかなり骨の折れるプロセスでした。しかし、問題をAjaxリクエストに絞り込みましたが、これはあらゆる種類のリクエストで発生する可能性があると思います。
リクエスト自体により、サーバーは500を返します。Fiddlerでリクエストを試した後、GETリクエストのCookieエントリにPHPSESSIDアイテムが含まれていることがわかりました。これを省略すると、リクエストは機能します。
したがって、この問題の答え(この場合)は、リクエストからPHPSESSIDを除外することです。あとは、その方法を考え出すだけです:)
エラーコード-1073741571 (0xc00000fd)
はスタックオーバーフローを意味します。コードをデバッグする必要があります。
http://forums.iis.net で検索してみてください。 PHPをアップグレードしてみることを示唆しているようです。または、アプリケーションに問題があり、PHPまたはfastCGIプロセスがクラッシュします。
幸運を。
これに対する答えを探している人のために、私は「500内部サーバーエラー」+ PHP +高速CGIで約2時間過ごしました、そしてエラーはweb.configファイルがにあったということでしたmy PHPアプリケーションフォルダー(IISが自動的に作成しました)。
ファイルを削除することにより、アプリケーションは正常に機能しました。