web-dev-qa-db-ja.com

IISおよびPHP

Windowsサーバー2012およびIISでPHPファイルを実行しようとすると、500エラーが発生し続けます。詳細なログなどは見つかりません。ただし、PHP Manager for IIS and check check config、I get the following error:

Detailed Error Information:
Module    FastCgiModule 
Notification    ExecuteRequestHandler 
Handler    PHP55_via_FastCGI 
Error Code    0xc0000135 
Requested URL    http://domain.com:80/brkld3ip.php 
Physical Path    drive:\sites\domain.com\brkld3ip.php 
Logon Method    Anonymous 
Logon User    Anonymous 

Windows Serverの新規インストールでMicrosoft Web Platform Installer 5.0を使用してPHPをインストールしました。

私はIIS Linuxから来たので、初めてです。そのため、IISで何が起こっているのかを十分に「学習」できません。C++再頒布可能パッケージ2012を更新してみましたいくつかのウェブサイトが示唆するように4を更新します。

編集:私がチェックした別のことはメモリ制限でした。あるサイトから、メモリ制限を引き上げる必要があるとの提案がありました。変化なし。

編集:質問:PHP変更を有効にするには、Windowsを再起動する必要がありますか?

32
alexander7567

実行しているPHPのバージョンに対応する正しいVC++ランタイムが欠落している可能性がかなり高いです。

PHP 5.5.xを実行している場合は、VC++ 11ランタイムがインストールされていることを確認する必要があります。

http://www.Microsoft.com/en-us/download/details.aspx?id=30679

X86バージョン(vcredist_x86.exe)、PHPは64ビットにまだ対応していません。

PHP 5.4.xを実行している場合は、VC++ 9ランタイムをインストールする必要があります。

http://www.Microsoft.com/en-us/download/details.aspx?id=5582

53
Kev

同様のメッセージに気づき、CGIサーバーロール(IIS-> Application Development))をインストールしていないことがわかりました。

6
From Orbonia

PHP 8.5の2012 R2サーバーでIIS 7.0.3.

解決策はインストールすることです:Visual Studio 2015 32ビット用のVisual C++再頒布可能パッケージ

これをインストールした後、すべてが適切に機能しました。

4
Tidoy007

Visual Studio 2015 32ビット用のVisual C++再頒布可能パッケージをインストールした後も500エラーが発生しました。

Microsoft sysinternalsからprocmonを実行し、php Webページをリクエストしたときに見つかりました

w3wp.exe C:\PHP\php-cgi.exe "ACCESS DENIED"

w3wp.exeはIISで実行されているアプリプールです

特定のアプリプールユーザーにREAD/EXECUTE権限をc:\ phpに付与すると、問題が修正されました。

1
rob