web-dev-qa-db-ja.com

IIS 7.5 PHP failure "FastCGIプロセスが予期せず終了しました"

私はPHP IIS 7.5で作業していて、ちょっとした障害にぶつかった。ページをロードしようとするたびに、次のようになる。エラー:

「HTTPエラー500.0-内部サーバーエラーC:\ Program Files\PHP\php.exe-FastCGIプロセスが予期せず終了しました」

モジュールFastCgiModule

通知ExecuteRequestHandler

ハンドラーPHP_via_FastCGI

エラーコード0x00000000

要求されたURL * http:// localhost:80/index.php

物理パスC:\ inetpub\wwwroot\index.php

ログオン方法匿名

ログオンユーザー匿名

失敗した要求トレースログディレクトリC:\ inetpub\logs\FailedReqLogFiles

IISでの使用に必要なPHP.iniファイルを変更し、詳細モードに切り替えました。 C:\ inetpub\logs\FailedReqLogsにはログフィールドがなく、生成された他のログファイルにはこのエラーに関連するものはありません。

ここや他の場所で見つけた他の修正を試しましたが、これまでのところ何も成功していません。

詳細は次のとおりです。PHP.iniの再チェックPHP in IIS(php.exeをロードするように構成する))実行メソッドとしてのWinCache。

22
Vilid

PHP 5.4.14から5.5.3(32ビット)にアップグレードしたときにこの問題が発生しました。

修正するには、 Visual Studio 2012 Update 3のVisual C++再頒布可能パッケージ をインストールする必要がありました

アップグレード後にWebページがロードされなくなったときにコンソールからphp --versionを実行することにより、このDLLが必要であることがわかりました。これにより、MSVCR110.dll MSの32ビットVS再頒布可能アップデートを使用しますウィンドウアップデートでオプションのアップデートをオフにしているため、自動的に入手できませんでした。

また、さまざまなフレーバー(32ビット、64ビット、およびARM)が用意されています。32ビットが私にとって有効でした。

49
b01

32ビットの Visual C 2012 Redistributable for Visual Studio 2012 Update 4 をインストールします

64ビットではない

9
piris

あなたのPHPにはいくつかのdll拡張機能がありますが、正しく機能せず、CGIを強制的に閉じているようです。 php.iniファイルのすべての拡張機能をコメントして、エラーが存在するかどうかを確認してください。

[編集1]

いくつかの苦労の末、IISはスレッドセーフでないWebサーバーであり、PHPで使用するすべての拡張機能はIIS nts lib拡張機能がスレッドセーフライブラリを使用してコンパイルし、IISに追加すると、IISは起動しません。この場合、スレッドセーフの拡張機能はApache)を推測し、IISの拡張機能として追加しないでください

4
A23149577

このページはあなたが集中的に何かをやろうとしているのですか?

以前にこの問題が発生したことがあり、エラーメッセージは誤解を招くものでした。

特定のページのメモリ制限を増やしてみてください。まず、そのページのピークメモリ使用量を確認します。

echo memory_get_peak_usage(true);

次に、メモリ制限を適切に設定します。

ini_set("memory_limit","1024M");

お役に立てば幸いです!

3
seb835

PHP 5.4.17(32-bit)を設定しているときにこの問題が発生しました。

修正するには、Visual C++ RedistributableVisual Studio 2012 Update 4をインストールする必要があり、この更新プログラムをインストールした後は正常に機能しました。

1
Pacsal

私はその古いスレッドを知っていますが、誰かが頭痛の種を救うかもしれません。

Php.iniで、変更

; Whether or not to enable the dl() function.  The dl() function does NOT work
; properly in multithreaded servers, such as IIS or Zeus, and is automatically
; disabled on them.
; http://php.net/enable-dl
enable_dl = Off

; Whether or not to enable the dl() function.  The dl() function does NOT work
; properly in multithreaded servers, such as IIS or Zeus, and is automatically
; disabled on them.
; http://php.net/enable-dl
;enable_dl = Off

Enable_dl = Offは機能しませんが、行全体をコメントアウトします。

1
Donald H.

あなたのような2つのアプリケーション(あなたのアプリ、phpmyadmin)がある場合は、APC拡張機能を無効にしてください

microsoft Visual C++ 86および64をインストールするだけではない場合

0

同じ問題があります。VisualStudio 2012に再配布可能なVisual C++の2ビットをインストールすることで修正しました。64ビットは機能しません。

0
LuisG

上記の回答で正しく述べられているように、それは「Visual C++ Redistributable」に関連しており、インストールされていないか、正しくインストールされていません。

この問題に関する私の専門知識に依存します。

1-最初に注意してください、各PHPバージョンは特定のVisual C++再頒布可能バージョンに依存します(11,12,14、..)

そのため、最初にPHPバージョンをphpサイトの左側にあるメモとともに確認してください:
PHPダウンロードページ 「どのバージョンを選択しますか?」を検索します。次に、VC++のどのバージョンが必要かを確認します。

2- VC 32と64両方をダウンロードする必要があります。PCに既にインストールされているので、両方をアンインストールします(同じバージョンのみ))。 (要求されない限り、再起動の必要はありません)。

3- iis、Apache、または...のphpインストールの他のステップを完了します。

それがあなたのお役に立てば幸いです。

0