500 Internal Server Error
서버가 요청을 처리하지 못했으나 더 구체적인 5xx 상태 코드를 정하지 못했을 때 반환하는 범용 HTTP 오류 응답입니다.
빠른 답변
- 우선 확인할 원인
- 500 Internal Server Error는 서버가 요청을 처리하지 못했음을 알리는 포괄적 HTTP 오류 응답입니다. 오류 코드만으로 PHP, WordPress, IIS 또는 특정 원인을 판단할 수 없으므로, 발생 URL·시각·응답 본문·서버 로그를 먼저 기록해 적용 환경을 확인해야 합니다.
- 먼저 확인할 항목
- 현재 응답의 URL, 상태 코드, 발생 시각, 응답 화면에 표시된 원문을 기록합니다. 기대 결과는 조사할 요청 하나를 재현 가능한 관찰값으로 고정하는 것입니다.
- 적용 범위
- 현재 증상과 본문에 적은 관찰 조건이 함께 확인된 경우
- 출처 확인일
- 2026-07-23
- 최종 검토
- 2026-07-23
- 수정일
- 2026-07-25
- 정정 이력
- 2026-07-29 이후 기록 없음
현재 증상
- 서버 5xx 응답
먼저 확인할 항목
현재 응답의 URL, 상태 코드, 발생 시각, 응답 화면에 표시된 원문을 기록합니다. 기대 결과는 조사할 요청 하나를 재현 가능한 관찰값으로 고정하는 것입니다.
서버 또는 애플리케이션 로그에서 같은 시각의 오류 항목과 요청 정보를 확인합니다. 기대 결과는 어떤 요청·파일·예외가 500을 유발했는지 식별하는 것입니다.
동일 URL을 다시 요청해 500이 재현되는지, 특정 경로에서만 발생하는지 확인합니다. 기대 결과는 오류 범위가 전체 사이트인지 일부 페이지인지 구분하는 것입니다.
화면·로그·배포 정보에서 PHP, WordPress, IIS 등 실제 적용 환경이 확인되는지 기록합니다. 기대 결과는 환경별 문서를 선택할 근거를 확보하는 것입니다.
피해야 할 조치
주의
- 500 응답 본문만 보고 원인을 단정하지 않습니다. 500은 더 구체적인 5xx를 찾지 못했을 때 반환되는 포괄 응답이므로 원인은 서버 로그에서 확인해야 합니다.
- 적용 환경이 확인되기 전에는 PHP 설정, WordPress 플러그인, IIS 권한처럼 특정 환경의 값을 변경하지 않습니다.
- 설정 파일이나 배포 파일을 수정하기 전에는 원본과 변경 시각을 보관해 되돌릴 수 있게 합니다.
- 방문자 화면에 내부 오류 상세나 스택 트레이스를 그대로 노출하지 않습니다.
환경별 원인과 조치
500 Internal Server Error는 서버가 요청을 처리하지 못했지만 더 적절한 5xx 상태 코드를 정하지 못했을 때 반환하는 응답입니다. MDN은 이 응답을 포괄적(catch-all) 서버 오류로 설명합니다.
500은 원인 자체가 아니라 서버가 요청을 끝내지 못했다는 결과 신호입니다. 오류 코드만으로 프로그래밍 언어, CMS, 호스팅사 또는 특정 설정 문제를 확정할 수 없습니다.
무엇을 뜻하는가
500 응답은 요청을 처리하는 서버 쪽에서 문제가 발생했음을 나타냅니다. MDN은 방문자가 500을 만났다면 서버 소유자나 관리자가 조사해야 하는 문제라고 안내합니다. 오류를 분석하려면 오류 화면만 보지 말고, 같은 시각의 서버·애플리케이션 로그와 요청 정보를 함께 확인해야 합니다.
원인이 응답에 드러나지 않는 이유
500은 구체적인 5xx로 분류되지 못한 상황을 한데 묶어 반환합니다. MDN이 예시로 드는 원인 범주는 다음과 같습니다.
| 관찰 대상 | 확인할 내용 |
|---|---|
| 서버 설정 | 잘못된 서버 구성 여부 |
| 메모리 | 메모리 부족(OOM) 발생 여부 |
| 애플리케이션 코드 | 처리되지 않은 예외 발생 여부 |
| 파일 권한 | 부적절한 파일 권한 여부 |
이 항목들은 모두 원인 후보일 뿐입니다. 어느 항목이 이번 500을 일으켰는지는 현재 환경의 로그와 재현 결과로 좁혀야 합니다.
환경이 확인된 경우의 다음 문서
다음 문서는 오류 화면·로그·배포 정보로 환경이 확인된 경우에만 선택합니다.
- PHP 오류 로그에
Allowed memory size exhausted가 표시되면 PHP 메모리 초과 오류를 확인합니다. - WordPress 화면에
There has been a critical error on this website가 표시되면 WordPress 치명적 오류 메시지를 확인합니다. - IIS 화면 또는 로그에 하위 상태 코드나 HRESULT가 표시되면 IIS 오류 코드 가이드를 확인합니다.
환경이 확인되지 않았거나 문구가 일치하지 않으면 이 문서에서 특정 환경의 조치를 실행하지 마세요. 먼저 로그와 배포 정보를 담당자에게 전달해 적용 환경을 확인해야 합니다.
확인 순서
500을 만났을 때는 응답만으로 판단하지 말고, 서버 로그에서 발생 시점과 요청 정보를 먼저 확인한 뒤 위의 원인 후보를 좁혀야 합니다. 구체적인 분류 절차는 서버 오류 분류 체크리스트를 따릅니다.
수정 후에는 같은 URL을 다시 요청해 500이 재현되지 않는지 반복 확인합니다.
수정 후 다시 확인
서버 오류 원인 구간 확인
서버 오류가 발생하면 먼저 응답 코드, 발생 URL·시각, 같은 시각의 오류 로그를 기록해야 합니다. 그 뒤에 실제로 확인된 적용 환경에서 코드·구성·의존성·실행 자원을 한 항목씩 분리해 재현 여부를 확인합니다.
전체 확인 항목 보기참고 자료
MDN Web Docs (Mozilla) · 공식 자료 · 확인 범위: definition, generic-catch-all, server-side-investigation, generic-observation-scope · 확인일: 2026-07-23
WordPress · 공식 자료 · 확인 범위: conditional-wordpress-branch · 확인일: 2026-07-23