워드프레스 500 내부 서버 오류 (Internal Server Error) 해결 방법

워드프레스 블로그 등 사이트를 운영하다 보면 다양한 오류가 발생할 수 있습니다. 500 Internal Server Error(내부 서버 오류)도 그 중 하나인데요, 이 오류는 웹사이트 서버에 문제가 있지만 정확히 문제가 무엇인지를 서버에서 특정할 수 없을 때 발생하는 매우 일반적인 HTTP 상태 코드라고 합니다.  이 에러는 다음 형태로 브라우저에 표시될 수 있습니다.

  • "500 Internal Server Error"
  • "HTTP 500 - Internal Server Error"
  • "Temporary Error (500)"
  • "Internal Server Error"
  • "HTTP 500 Internal Error"
  • "500 Error"
  • "HTTP Error 500"
  • "500. That's an error"

위에서 언급했듯이 이 Internal Server Error는 일반적으로 문제가 있음을 나타내는 오류 메시지입니다. 이 문제를 수정하기 위해 여러 가지 방법을 시도해볼 수 있습니다.

  • F5를 눌러 웹 페이지를 새로 고침합니다.
  • 브라우저의 캐시를 삭제합니다.
  • 브라우저의 쿠키를 삭제합니다.
  • 나중에 다시 접속해봅니다.

저는 Internal Server Error 500이 발생하여 웹호스팅 기술팀에 문의해보니 사용자측에서 무엇인가를 잘못했다고 하면서 .htaccess를 수정해보라고 하더군요. 그래서 이전 백업 파일에 있던 .htaccess 파일을 웹호스팅 서버의 루트 디렉터리에 복사하여 쉽게 문제를 해결할 수 있었습니다.

워드프레스 500 내부 서버 오류 (Internal Server Error) 해결 방법

워드프레스에서 500 서버 내부 오류가 발생할 경우 해결 방법

워드프레스에서 500 서버 내부 오류 (Internal Server Error)는 .htaccess 파일이 손상되었거나 PHP 메모리 제한 때문에 발생할 수 있으니 먼저 이 부분을 체크해보는 것이 좋습니다.

오류 로그 확인하기

디버그 모드를 활성화하여 오류 로그를 확인할 수 있습니다. 에러 로그에서 문제의 원인을 파악하는 데 도움이 되는 메시지가 있는지 살펴보세요.

클라우드웨이즈를 이용하는 경우 FTP/SFTP에 접속하지 않고도 오류 로그를 체크할 수 있습니다.

오류 로그에서 문제 해결에 도움이 되는 메시지가 있는지 확인하시기 바랍니다. 운이 좋으면 해결에 단서가 되는 메시지가 있을 수 있습니다. 치명적인 오류를 일으키는 원인을 단정할 만한 에러 메시지가 없다면 아래의 방법을 하나씩 실행하여 문제 해결을 시도해 볼 수 있습니다.

.htaccess 파일 손상

.htaccess 파일이 손상되었는지 확인하는 방법은 FTP로 접속하여 이 파일의 이름을 다른 이름으로 저장하도록 합니다(예: .htaccess_o.d). 그런 다음 사이트를 다시 로드하여 서버 내부 에러 (Internal Server Error가 발생하는지 확인합니다. 문제가 해결되면 .htaccess 파일 손상으로 인해 문제가 발생했음을 알 수 있습니다. 그러면 설정 » 고유주소로 이동하여 "변경 사항 저장" 버튼을 클릭하도록 합니다. 그러면 적절한 Rewrite 규칙으로 새로운 .htaccess 파일이 생성되어 404 오류가 발생하지 않습니다.

이 작업을 위해서는 FTP에 접속할 수 있어야 합니다. 파일질라(FileZilla)를 설치하여 FTP/SFTP에 접속하는 방법을 다음 글에서 참고해보세요.

PHP 메모리 부족

PHP 메모리 제한으로 인한 문제는 여기를 참고해보시기 바랍니다.

참고로 PHP 설정값을 확인하는 방법은 phpinfo() 함수를 사용하면 됩니다. FTP로 접속하여 루트에 info.php(혹은 임의의 이름) 파일을 하나 만든 다음, 다음 코드를 입력하도록 합니다.

그런 다음, http://www.yoursite.com/info.php를 브라우저 주소창에 입력하면 PHP 설정값을 볼 수 있습니다. 다음 동영상을 참고해보세요.

플러그인 충돌 문제

플러그인 문제로 서버 내부 오류가 발생할 수 있습니다. FTP에 접속하여 /wp-content/plugins/ 폴더를 다른 이름으로 변경(예를 들어, plugins 폴더 이름을 plugins_old로 일시적으로 변경)했을 때 문제가 해결되면 플러그인이 문제의 원인입니다. 플러그인을 하나씩 비활성화하면서 문제를 일으키는 워드프레스 플러그인을 찾아서 제거하거나 다른 유사한 기능의 플러그인으로 대체하여 문제를 해결할 수 있습니다.

플러그인을 비활성화하는 자세한 방법은 "초보자를 위한 워드프레스 문제 해결 가이드"의 "모든 플러그인 비활성화하기" 부분을 참고해보시기 바랍니다.

엘리멘터 페이지 빌더에서 500 에러가 발생하는 경우

Elmentor 페이지 빌더를 사용할 때 500 내부 서버 오류가 발생하는 경우가 있습니다. 이 경우 보통 PHP 메모리 크기를 높이면 문제가 해결될 것입니다.

클라우드웨이즈를 이용하는 경우

클라우드웨이즈(Cloudways)를 이용하는 경우 라이브 채팅으로 연락하여 도움을 받을 수 있습니다. 카페24 등 대부분의 호스팅에서는 이 문제를 문의하면 워드프레스 관련 문제에 대해서는 전문가에게 의뢰하여 문제를 해결하라는 답변을 받게 될 것입니다.

하지만 클라우드웨이즈는 서버 관련 문제뿐만 아니라 워드프레스 관련 문제에 대해서도 문의할 수 있습니다.

라이브 채팅으로 연락할 때 "인간 상담원과 대화하고 싶습니다" 혹은 "I want to talk to a human agent"라고 입력하면 인간 상담사와 연결이 됩니다. 한글로 입력해도 AI가 알아서 자동으로 번역하여 전달하므로 영어에 익숙하지 않으면 한국어로 증상을 자세히 설명하면 클라우드웨이즈 고객 지원 담당자가 문제를 해결해 줄 것입니다.

문제가 해결되지 않는 경우...

👉위의 조치에도 문제가 해결되지 않는 경우 이 페이지의 양식을 통해 서비스를 요청(유료)하실 수 있습니다.

Q&A (질문과 답변)

Q1. 워드프레스 500 에러가 발생했는데 관리자 페이지(wp-admin)에도 접속이 안 됩니다. 어떻게 해야 하나요?

A. wp-admin 접속이 막힌 경우에도 원인은 대부분 동일합니다. FTP/SFTP로 서버에 직접 접속하여 .htaccess 파일 이름을 임시로 변경해보거나, /wp-content/plugins/ 폴더 이름을 변경해 플러그인을 일괄 비활성화한 뒤 사이트가 정상적으로 접속되는지 확인해 보시기 바랍니다.

Q2. .htaccess 파일 이름을 바꿨는데도 500 에러가 그대로입니다. 다음엔 뭘 확인해야 하나요?

A. .htaccess가 원인이 아니라면 PHP 메모리 부족이나 플러그인 충돌을 의심해 볼 수 있습니다. phpinfo() 파일을 서버에 업로드하여 현재 PHP 메모리 제한 값을 확인한 뒤 상향 조정을 시도하고, 그래도 해결되지 않으면 플러그인을 하나씩 비활성화하며 원인이 되는 플러그인을 찾는 방식으로 시도해 볼 수 있습니다.

Q3. 특정 페이지에서만 500 에러가 나고 나머지 페이지는 정상입니다. 원인이 다를 수 있나요?

A. 네, 특정 페이지에서만 발생한다면 사이트 전체 설정(.htaccess 등)보다는 해당 페이지에서 사용 중인 특정 플러그인이나 페이지 빌더 요소가 원인일 가능성이 높습니다. 특히 엘리멘터(Elementor)나 아바다 테마의 Avada Builder 등과 같은 페이지 빌더를 사용 중이라면 PHP 메모리 크기 부족이 흔한 원인이므로 메모리 제한 크기를 높여서 문제가 해결되는지 체크해 보세요.

Q4. 오류 로그를 어떻게 확인하나요? FTP 없이도 가능한가요?

A. 워드프레스 디버그 모드를 활성화하면 오류 로그에서 문제 원인을 유추할 단서를 찾을 수 있습니다. 클라우드웨이즈(Cloudways) 호스팅을 이용 중이라면 FTP/SFTP 접속 없이도 호스팅 패널에서 바로 오류 로그를 확인할 수 있어 훨씬 간편합니다.

Q5. 플러그인 폴더 이름을 변경했더니 에러가 사라졌습니다. 이제 어떻게 해야 하나요?

A. 플러그인 폴더(/wp-content/plugins/) 이름 변경으로 문제가 해결됐다면 원인이 플러그인 중 하나라는 뜻입니다. 폴더 이름을 원래대로 되돌린 뒤, 관리자 페이지에서 플러그인을 하나씩 개별적으로 활성화하면서 500 에러가 다시 발생시키는 플러그인을 확인하는 방식으로 문제의 플러그인을 특정할 수 있습니다.

Q6. 클라우드웨이즈를 사용 중인데 직접 해결이 어렵습니다. 고객 지원팀에 어떻게 문의해야 하나요?

A. 클라우드웨이즈는 서버 문제뿐 아니라 워드프레스 자체 문제도 라이브 채팅으로 문의할 수 있습니다. 영어가 부담스럽다면 한국어로 증상을 자세히 입력해도 AI가 자동 번역해 상담원에게 전달하므로, 채팅 시작 시 "인간 상담원과 대화하고 싶습니다"라고 입력해 사람 상담사와 연결한 뒤 한국어로 문의하면 됩니다.

참고:

8개 댓글

댓글 남기기

  1. 안녕하세요
    홈페이지는 접속이되는데 엘리멘토편집후 업데이트시 500에러가 뜹니다
    디버그활성화 해서 보니
    Notice: Constant WP_POST_REVISIONS already defined in /buhmwoo/www/wp-config.php on line 88 Notice: Constant EMPTY_TRASH_DAYS already defined in /buhmwoo/www/wp-config.php on line 91
    이런에러가 뜨는데 커뮤니티에도 물어보니 세팅문제이거나 메모리를 확인해 보라고 하더군요.. 세팅이란건 어디서 확인하고 어떻게 편집해야 하나요..?

    답글
    • 안녕하세요. 엘리멘토 페이지 빌더를 사용할 경우 다양한 오류가 발생하는 것 같습니다.

      엘리멘터 페이지 빌더를 제외한 모든 플러그인을 비활성화해보시겠어요?

      그리고 메모리 크기도 확인해보시기 바랍니다.

      서버를 직접 세팅한 경우에는 서버 세팅 문제일 수도 있습니다. 블루호스트 등 해외호스팅을 이용하는 경우에는 라이브챗으로 문의해보셔도 좋을 듯 합니다. 워드프레스 문제는 자체적으로 해결해야 할 수도 있지만, 고객센터에 문의하면 문제의 원인을 파악하는 데 도움이 되는 경우가 있습니다.

      답글
      • 감사합니다 비활성후에 플러그인 하나씩 켜다보니 yoast seo 플러그인과 충돌이 일어나네요...

      • 엘리멘터 페이지 빌더와 Yoast SEO가 메모리를 많이 차지하여 메모리 부족으로 인해 이런 문제가 나타나는 아닐까요?

        Elementor와 Yoast SEO 모두 많이 사용되는 플러그인이기 때문에 최신 버전에서는 충돌이 발생하지 않을 것 같습니다. 만약 충돌이 발생한다면 사용자들의 충돌 보고가 있었을 것이고, 그러면 패치가 나왔을 것 네요.

  2. 500 문제를 겪고 있었는데, 여기에 적힌 것처럼 .htaccess를 백업 후 지우고 접속하니 404 오류가 생기더군요. 그리고 워드프레스 어드민 페이지로 접속해 설정의 고유주소에서 변경사항 저장하니 문제가 해결되었네요. 덕분에 이제 홈페이지가 잘 작동합니다. 감사합니다.

    답글
  3. 위의 방법으로 문제가 해결되지 않으면 모든 플러그인을 비활성화한 후에 하나씩 활성화하면서 문제를 해결해 나가야 합니다.

    만약에 관리자 페이지에 접속하지 못하고 있다면 DB에서 모든 워드프레스 플러그인을 비활성화활 수 있습니다.

    phpMyAdmin에 접속하여 다음 쿼리를 실행합니다.

    UPDATE wp_options SET option_value = '' WHERE option_name = 'active_plugins';

    (참고: How to disable all WordPress plugins directly from the database?)

    답글
    • 며칠 전에 500에러가 발생해서 골치아팠었는데 이 쿼리문으로 해결했습니다. 원인은 새로 설치한 테마에서 이상이 생긴 것 같습니다. 감사합니다!

      답글