2017-02-08 7 views
0

Windows 2008 R2 서버 (IIS7.5)에서 PHP (5.3) 사이트를 실행하고 있습니다. & 사용자 지정 500 페이지를 표시하려고합니다.IIS7.5의 PHP 사이트 사용자 지정 500 페이지

ini_set('display_errors', 1); 
error_reporting(E_ALL);) 

: -

내가 설정에게 치명적인 오류를 생성하는 테스트 페이지를했습니다 나는 오류가 스크립트에서 처리 설정 한 경우에 ...

정의되지 않은 함수 functiondoesnotexist()를 호출 나는 그 페이지에서 오류를 보게된다. 그러나 그 페이지는 200 개의 코드를 반환한다.

나는 오류보고를 해제하면 (500.php를, 난 그냥 빈 페이지 (전혀 소스 코드)를 얻을 수 있지만, 상태는 그것은 손님 오류 페이지가 표시되지 않습니다, 500

그러나입니다) - 직접로드 할 때 작동합니다.

내가 누락 된 부분을 아는 사람이 있습니까? 감사합니다

답변

0

IIS의 PHP 사이트에서 사용자 지정 정적 파일을 500 오류로 표시하려면 IIS UI를 통해 사용자 지정 페이지를 구성한 후에 web.config 파일을 편집하고 httpErrors 섹션을 찾아야합니다. 이 구성 노드에서 existingResponse 속성을 "Replace"으로 설정하여 fastCGI가 PHP가 사용하는 fastCGI 응답 대신 기본 IIS 응답을 사용하도록해야합니다.

귀하의 web.config 파일 섹션은 다음과 비슷한 모습이 될 것

<httpErrors existingResponse="Replace"> <remove statusCode="500" subStatusCode="-1" /> <error statusCode="500" prefixLanguageFilePath="" path="MyCustom500Errorpage.html" responseMode="File" /> </httpErrors>

공지 루트 노드의 속성과 error 노드에 File로 설정 responseMode 속성.

파일은 루트 폴더에 있습니다. 이미지, 스크립트 또는 .css 파일을 사용하는 경우 루트 폴더와 관련된 경로 (예 : "/Images/MyLogo.png" 등)를 사용하고 있는지 확인하십시오.

HTH