22

私は 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 の再チェック IIS で PHP と連携するように fastCGI を設定する (php.exe をロードするように設定する) 実行方法として WinCache を試す。

4

9 に答える 9

50

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

それを修正するには、Visual Studio 2012 Update 3 用の Visual C++ Redistributableをインストールする必要がありました。

アップグレード後に Web ページが読み込まれなくなったときに、コンソールから php --version を実行して、この DLL が必要であることがわかりました。その後、MS からの 32 ビット VS 再頒布可能アップデートに付属する MSVCR110.dll が必要であることが明らかになりました。Window Update でオプションの更新プログラムをオフにしているため、自動的に取得されませんでした。

また、さまざまなフレーバー (32 ビット、64 ビット、および ARM) がありますが、32 ビットが私にとってはうまくいきました。

于 2013-09-02T16:31:12.390 に答える
4

PHP に dll 拡張機能があり、正しく動作せず、CGI を強制的に閉じているようです。php.ini ファイル内のすべての拡張子にコメントを付けて、エラーが発生するかどうかを確認してください。

[編集1]

いくつかの闘争の後、IIS は非スレッド セーフ Web サーバーであり、IIS の php で使用するすべての拡張機能は、コンパイルに nts lib を使用する必要があることがわかりました。拡張機能がスレッド セーフ ライブラリでコンパイルされ、IIS に追加された場合、IIS は起動しません。この場合、スレッドセーフの拡張機能(Apacheで使用されていると思います)であり、IISの拡張機能として追加しないでください

于 2013-01-01T05:41:54.400 に答える
1

私はそれが古いスレッドであることを知っていますが、誰かがヘッドバッシングを救うかもしれません.

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 は機能しません。行全体をコメントアウトすると機能します。

于 2013-11-08T19:44:42.717 に答える
0

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

于 2015-09-01T19:49:04.987 に答える
0

(あなたのアプリ、phpmyadmin) のような 2 つのアプリケーションがある場合は、APC 拡張機能を無効にするだけです 問題が解決することを願っています

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

于 2015-03-23T10:36:12.607 に答える