IIS에서 자세한 PHP 오류를 표시하지 않음-대신 서버 오류 500을 표시합니다. 디버깅하려는 오류는 표시되지 않으므로 전역 PHP 설정이라고

저는 Apache에서 사이트를 제공하는 데 익숙하지만 이제는 IIS 서버를 사용해야합니다.

많은 PHP 페이지에서 오류 500이 반환되고 IIS에서 오류 메시지가 표시되지 않으므로 디버깅 할 수 없습니다. ini_set('display_errors',1);코드에서 시도 했지만 아무 소용이 없습니다.

일부 사이트에는 오류가 표시되지만 특히 디버깅하려는 오류는 표시되지 않으므로 전역 PHP 설정이라고 생각하지 않고 해당 사이트의 사이트 설정과 관련이 있습니다.

PHP 오류 표시를 활성화하는 방법에 대한 명확한 대답을 찾을 수 없습니다.

이 링크를 찾았 지만 ” system.webServer-> httpErrors ” 를 찾을 위치를 잘 모르겠습니다 .

IIS에서 PHP로 표시 오류를 어떻게 활성화합니까?



답변

대신 로깅하는 것은 어떻습니까?

php.ini 편집 및 설정

error_reporting = E_ALL & ~E_NOTICE
log_errors = On

그리고

error_log = syslog Windows 이벤트 로그에 기록하거나

error_log = location/of/logfile 파일에 기록합니다.


답변

php.ini 파일에 올바른 설정이 있다고 가정

  1. IIS 관리자에서 웹 사이트를 선택하십시오.
  2. 오른쪽에서 오류 페이지 아이콘을 두 번 클릭하십시오.
  3. ‘Actions (작업)’에서 가장 오른쪽에있는 ‘Edit Feature Settings (기능 설정 편집)’링크를 클릭하십시오.
  4. 팝업이 나타나면 ‘Detailed errors’라디오 버튼을 선택하십시오
  5. 자세한 오류를 보려면 PHP 페이지를 새로 고치십시오

페이지 에 대한 마지막 의견 덕분에


답변

나는 그것이 좋은 아이디어이다 것을 발견 액세스 IIS 호스팅 페이지인터넷 익스플로러 테스트하기 위해.

필자의 경우 php-error-logs가 깨끗한 곳에서 아무런 단서도 얻지 못했습니다.

firefox / chrome에 연결할 때 표현이 아닌 “500-내부 서버 오류”가 발생했습니다.

InternetExplorer를 사용할 때 더 유용한 오류 메시지 ( “HTTP 오류 500.0-내부 서버 오류 C : \ PHP \ php-cgi.exe-FastCGI 프로세스가 예기치 않게 종료되었습니다”) :

서버 자체의 http : // localhost 에서 연결을 시도 할 수도 있습니다 .