HTTP ERROR 500 — 시도하기 전에 «무엇이 적혀 있나»부터
500 에러가 뜨면 대부분 이렇게 검색합니다 — 「워드프레스 500 에러 해결」. 그리고 나오는 글은 대개 이렇게 시작합니다. 「다음을 차례로 시도해 보세요 — 플러그인 끄기, 테마 바꾸기, PHP 메모리 늘리기, .htaccess 지우기…」
저희는 반대로 합니다. 500 에러는 「무엇을 시도할까」가 아니라 「무엇이 적혀 있나」부터 봐야 합니다.
500 은 고장의 이름이 아닙니다. 「서버 안에서 뭔가 터졌다」는 봉투일 뿐이고, 안에 든 내용은 매번 다릅니다. 봉투만 보고 이것저것 시도하면 고쳐져도 무엇이 원인이었는지 모릅니다. 그러면 다시 납니다.
봉투를 열면 «한 줄»이 들어 있습니다
워드프레스는 실제 오류 문구를 파일에 적어 둡니다. 화면에는 500만 보여도, 그 파일에는 「어느 파일 몇 번째 줄에서 무엇이 터졌는지」가 한 줄로 남아 있습니다.
FTP나 호스팅 파일 관리자로 들어가 이 자리를 보세요.
wp-content/debug.log ← 워드프레스가 남기는 것
error_log ← 호스팅사가 남기는 것 (폴더마다 있을 수 있습니다)
맨 아래 몇 줄만 보시면 됩니다. 가장 최근 것이 지금 그 고장입니다.
기록이 꺼져 있는 것입니다. 호스팅 관리자에 「오류 로그」 화면이 따로 있는 경우가 많으니 거기서 보세요. 그것도 없으면 호스팅사에 「최근 500 에러 로그를 확인해 달라」고 요청하시면 됩니다.
그 한 줄이 답을 반쯤 줍니다
| 로그에 이런 말이 있으면 | 이런 고장입니다 |
|---|---|
| Allowed memory size … exhausted | 메모리 부족. 늘리면 되지만, 왜 갑자기 많이 먹는지도 봐야 합니다 |
| Maximum execution time … exceeded | 작업이 너무 오래 걸려 잘렸습니다. 대개 백업·가져오기 중에 납니다 |
| Call to undefined function 또는 Cannot redeclare | 플러그인끼리 부딪혔습니다. 파일 이름이 같이 적혀 있습니다 |
| syntax error, unexpected | 코드를 직접 고치다 한 글자가 어긋났습니다. 그 줄 번호가 적혀 있습니다 |
| 파일 이름이 plugins/○○/ 로 시작 | 그 폴더 이름이 곧 범인입니다 |
파일 이름과 줄 번호가 적혀 있으면 범인은 이미 나온 것입니다. 시도할 필요가 없습니다.
그다음에야 «시도»입니다
로그에서 범인이 나왔으면 그것만 처리합니다.
- 플러그인이 범인 → 그 폴더 이름만 바꿔 끕니다. 전부 끄지 않습니다
- 메모리 →
wp-config.php에서 올리되, 무엇이 먹고 있었는지를 같이 봅니다 - 내가 고친 코드 → 그 줄로 바로 갑니다
「플러그인 다 끄기 → 되네 → 하나씩 켜기」로 반나절이 갑니다. 그리고 원인을 모른 채 끝나서, 같은 일이 다시 납니다. 로그 한 줄이 그 반나절을 없앱니다.
로그를 봐도 모르겠으면
그 한 줄을 그대로 보내주시면 저희가 읽고 어느 고장인지 알려드립니다. 주소만 주셔도 됩니다.
- 진단은 무료이고, 사이트는 어떤 것도 바뀌지 않습니다
- 500 은 원인 추적이 필요한 경우가 많아 대개 디럭스(89,000원) 범위입니다. 로그에서 범인이 하나로 나오면 스탠다드입니다
- 진단에서 원인을 못 찾으면 받지 않습니다
직접 하기 어려우신가요?
읽으신 내용대로 저희가 대신 해 드립니다. 무엇이 필요한지부터 함께 정해요.
