[server] IIS 및 PHP 새로 설치시 500 오류

Windows Server 2012 및 IIS에서 PHP 파일을 실행하려고하면 500 오류가 계속 발생합니다. 자세한 로그 나 아무것도 찾을 수 없습니다. 그러나 IIS 용 PHP 관리자로 이동하여 구성 확인을 클릭하면 다음 오류가 발생합니다.

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를 설치했습니다.

저는 Linux에서 오는 IIS를 처음 사용합니다. 그래서 나는 무슨 일이 일어나고 있는지 IIS에서 충분히 배우지 못했습니다. 몇 웹 사이트에서 제안한대로 C ++ 재배포 가능 2012 업데이트 4 업데이트를 시도했습니다. 다른 아이디어가 있습니까?

편집 : 내가 확인 한 또 다른 것은 메모리 제한이었습니다. 한 사이트에서 내 메모리 제한을 늘려야한다고 제안했습니다. 변경 없음.

편집 : 질문 : PHP 변경 사항을 적용하려면 Windows를 다시 부팅해야합니까?



답변

실행중인 PHP 버전에 맞는 VC ++ 런타임을 놓칠 가능성이 상당히 높습니다.

PHP 5.5.x를 실행하는 경우 VC ++ 11 런타임이 설치되어 있는지 확인해야합니다.

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

x86 버전 ( vcredist_x86.exe) 을 다운로드하여 설치했는지 확인하십시오 . Windows의 PHP는 아직 64 비트가 아닙니다.

PHP 5.4.x를 실행중인 경우 VC ++ 9 런타임을 설치해야합니다.

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


답변

비슷한 메시지가 나타 났는데 CGI 서버 역할 (IIS-> 응용 프로그램 개발 아래)을 설치하지 않은 것으로 나타났습니다.


답변

IIS 8.5가 설치된 2012 R2 서버에서 PHP 7.0.3에 대해 동일한 오류가 발생했습니다.

해결 방법 : Visual Studio 2015 32 비트 용 Visual C ++ 재배포 가능 패키지

이것을 설치 한 후 모든 것이 제대로 작동했습니다.


답변

Visual Studio 2015 32 비트 용 Visual C ++ 재배포 가능 패키지를 설치 한 후에도 여전히 500 오류가 발생했습니다.

Microsoft sysinternals에서 procmon을 실행했으며 PHP 웹 페이지를 요청할 때

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

w3wp.exe는 IIS에서 실행되는 앱 풀입니다.

c : \ php에 특정 앱 풀 사용자에게 READ / EXECUTE 권한을 부여하면 문제가 해결되었습니다.


답변