私は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。
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ビットが私にとって有効でした。
32ビットの Visual C 2012 Redistributable for Visual Studio 2012 Update 4 をインストールします
64ビットではない
あなたのPHPにはいくつかのdll拡張機能がありますが、正しく機能せず、CGIを強制的に閉じているようです。 php.iniファイルのすべての拡張機能をコメントして、エラーが存在するかどうかを確認してください。
[編集1]
いくつかの苦労の末、IISはスレッドセーフでないWebサーバーであり、PHPで使用するすべての拡張機能はIIS nts lib拡張機能がスレッドセーフライブラリを使用してコンパイルし、IISに追加すると、IISは起動しません。この場合、スレッドセーフの拡張機能はApache)を推測し、IISの拡張機能として追加しないでください
このページはあなたが集中的に何かをやろうとしているのですか?
以前にこの問題が発生したことがあり、エラーメッセージは誤解を招くものでした。
特定のページのメモリ制限を増やしてみてください。まず、そのページのピークメモリ使用量を確認します。
echo memory_get_peak_usage(true);
次に、メモリ制限を適切に設定します。
ini_set("memory_limit","1024M");
お役に立てば幸いです!
PHP 5.4.17(32-bit)
を設定しているときにこの問題が発生しました。
修正するには、Visual C++ Redistributable
のVisual Studio 2012 Update 4
をインストールする必要があり、この更新プログラムをインストールした後は正常に機能しました。
私はその古いスレッドを知っていますが、誰かが頭痛の種を救うかもしれません。
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は機能しませんが、行全体をコメントアウトします。
あなたのような2つのアプリケーション(あなたのアプリ、phpmyadmin)がある場合は、APC拡張機能を無効にしてください
microsoft Visual C++ 86および64をインストールするだけではない場合
同じ問題があります。VisualStudio 2012に再配布可能なVisual C++の2ビットをインストールすることで修正しました。64ビットは機能しません。
上記の回答で正しく述べられているように、それは「Visual C++ Redistributable」に関連しており、インストールされていないか、正しくインストールされていません。
この問題に関する私の専門知識に依存します。
1-最初に注意してください、各PHPバージョンは特定のVisual C++再頒布可能バージョンに依存します(11,12,14、..)
そのため、最初にPHPバージョンをphpサイトの左側にあるメモとともに確認してください:
PHPダウンロードページ 「どのバージョンを選択しますか?」を検索します。次に、VC++のどのバージョンが必要かを確認します。
2- VC 32と64両方をダウンロードする必要があります。PCに既にインストールされているので、両方をアンインストールします(同じバージョンのみ))。 (要求されない限り、再起動の必要はありません)。
3- iis、Apache、または...のphpインストールの他のステップを完了します。
それがあなたのお役に立てば幸いです。