워드프레스

워드프레스 죽음의 화이트 스크린 오류 수정하는 방법

comtogood 2024. 9. 24. 23:34
728x90
반응형

워드프레스 죽음의 화이트스크린 (WSOD : White Screen of Death)는 운영중인 웹사이트에 접속하는 순간 메인화면이 아무것도 안나오고 흰화면만 나타나는 심각한 오류메세지 입니다.

특히 심각하다는것은 아무런 오류 메세지 조차 없다는 것인데요. 

웹사이트 전체에 영향을 주거나 관리자 접속조차 안되고 복잡한 상황을 만들수가 있습니다.

죽음의 화이트스크린이 발생하는 이유와 고치는 방법에 대해 알아보도록 하겠습니다.

 

 

 

화이트스크린 나타나는 방식과 발생이유

 

 

 

 

 

 

죽음의 화이트스크린 워드프레스 오류메세지
죽음의 화이트스크린 워드프레스 오류메세지

 

 

+ 변형된 다양한 방식으로 오류화면 표시됨

 

화이트스크린은 기본 원인과 워드프레스 웹사이트가 호스팅되고 있는 환경에 따라서 여러가지 다양한 방식으로 나타날 수 있습니다. 

 

- 완전히 흰색 화면에 오류 메시지도 없이 나타나 뭐가 문제인지 알수조차 없습니다.

- 간혈적으로 흰색 화면이 나타나기도 하고, 웹사이트가 제대로 열리지 않고 로딩이 안됩니다.

- 워드프레스 웹사이트 특정 부분에만 흰색 화면이 나오고 다른 부분은 제대로 정상적으로 오픈 됩니다.

- 죽음의 흰색 화면은 웹사이트에 새로운 플러그인을 설치하거나, 워드프레스 버젼을 업데이트하거나, 테마를 업데이트 한 후에 나타납니다.

 

+ 죽음의 화이트스크린이 발생하는 이유

플러그인 충돌 - 가장 흔하게 나타나는게 플러그인 간의 충돌입니다. 운영중인 웹사이트에 설치된 두개 이상의 플러그인이 서로의 작동을 방해하거나 충돌이 나면 화이트스크린이 나타날 수 있습니다.

 

테마 문제 - 테마를 업데이트하거나 테마의 결함이 있을때 테마와 플러그인 간의 충돌로 인해서 화이트 스크린이 발생할 수 있습니다.  테마를 새로 설치하거나 업데이트 한후에 발생합니다.

 

PHP 메모리 한도 초과 - 워드프레스 웹사이트는 효율적인 작동을 위해서 일정량의 메모리를 필요로 합니다.

웹사이트가 할당된 PHP 메모리 한도를 초과하면 죽음의 화이트 스크린이 발생을 합니다.

 

손상된 핵심적인 파일 - 핵심적인 워드프레스 파일은 업데이트가 완료되지 않거나, 외부 변조가 발생하는 등 다양한 이유로 손상될 수 있으며, 이로 인해 화이트 스크린이 나타날수 있습니다.

 

 

죽음의 화이트 스크린을 수정하는 방법

 

 

 

 

 

 

 

404 워드프레스 오류메세지
404 워드프레스 오류메세지

 

 

+ 모든 플러그인을 비활성화 합니다.

죽음의 화이트스크린의 가장 흔한 원인 중의 하나가 바로 잘못 작동하고 있는 플러그인입니다.  

웹사이트를 운영하면서 기능을 추가하고 업데이트를 한후에 플러그인끼리 서로 충돌이 나거나 워드프레스와 플러그인간의 충돌이 발생하게 됩니다.  이럴경우 업데이트한 플러그인을 잠시 중단해보면 화이트스크린의 원인을 파악하는데 도움이 됩니다. 

 

만약에 화이트스크린으로 인해서 관리자에 접속조차 못하게 된다면, FTP를 통해서 업데이트한 플러그인 폴더를 찾아서 잠시 업데이트한 폴더의 폴더명을 다른 이름으로 변경을 합니다.  그러면 업데이트한 플러그인은 비활성화 처리가 됩니다. 그런후에 다시 웹사이트에 접속을 해서 확인을 하면 됩니다.

 

+ 기본 테마로 전환

위의 방식으로 플러그인 폴더명을 바꾸고 원인을 파악하려고 했으나 화이트스크린은 여전이 웹사이트에 나타나고 있습니다. 그렇다면 다음으로는 워드프레스 테마를 기본테마로 전환해보는 것입니다.

워드프레스 테마는 사이트의 모양이나 레이아웃을 제어하고 있지만 플러그인과 코드충돌이나 호환성 문제를 발생 시킬수 있습니다. 테마를 기본테마로 전환하고 화이트스크린의 원인인지를 파악해보는 것입니다.

이단계는 사이트의 시각적 디자인 측면을 안정적이고 충돌없는 상태로 재설정하여 문제를 보다 정확하게 진단할 수 있도록 합니다.

 

 

+ 캐시 삭제하기

웹브라우저는 방문시 더 빠르게 로드하기 위해서 캐시된 버전의 웹사이트를 저장하고 있습니다. 그러나 캐시된 버전이 오래되었거나 손상된 경우 화이트 스크린으로 나타날 수가 있습니다. 캐시를 지우면 서버에서 최신 버전의 웹페이지를 가져오게 되어 근본적으로 모든 오류표시 문제를 해결할수가 있게 됩니다.

 

 

+ 디버깅 활성화

워드프레스의 디버깅 모드는 다른 방법으로는 숨겨진 PHP 오류, 알림 또는 경고를 표시하도록 설계되었습니다. 이는 특히 화이트스크린이 나타났을때 사이트의 문제를 진단하는데 매우 중요합니다. 특정오류를 공개하면 플러그인, 테마 또는 사용자 지정 코드등에서 오류가 있는지 파악할 수 있게됩니다.

 

디버깅 활성화 방법

FTP 클라이언트나 웹 호스팅 제어판의 파일 관리자를 사용해 WordPress 사이트의 파일에 액세스를 합니다.
워드프레스 루트 디렉토리에서 wp-config.php 파일을 찾습니다 .
이 파일에는 중요한 워드프레스 설정이 들어 있습니다.
define( 'WP_DEBUG', false ); 줄을 찾습니다. 그런다음 false 를 true 로 변경합니다.

만약에 위의 내용이 없다면 한줄 추가해서 작성합니다. 
WP_DEBUG를 true로 정의합니다.
파일 맨 위, <?php 태그 바로 아래에 추가합니다.
로컬에서 편집한 경우 변경 사항을 저장하고 해당 파일을 서버로 다시 업로드합니다.

 

그런다음 다시 웹사이트에 접속을 해보면 방금전 나타났던 화이트스크린 화면 대신에  왜 오류가 나오는지 원인을 알수있는 오류메세지가 표시되게 됩니다.

 

 

+ PHP 메모리 제한 늘리기

PHP로 작성된 워드프레스는 코드를 실행하기 위해 메모리가 필요합니다. 사이트에 할당된 PHP 메모리가 부족하면 화이트스크린이 발생할 수 있습니다. PHP 메모리 한도를 늘리면 워드프레스가 더 많은 메모리를 활용해서  메모리 고갈로 인한 문제를 해결할 수 있습니다.

 

FTP를 통해
FTP 클라이언트나 호스팅 제어판의 파일 관리자를 사용해 사이트 파일에 액세스하세요.
워드프레스 설치 루트 디렉토리에 있는 wp-config.php 파일을 찾아 엽니다 .
다음 코드 줄을 추가합니다.
define('WP_MEMORY_LIMIT', '256M');
이 줄은 워드프레스의 최대 메모리 사용량을 256MB로 늘립니다. 

웹사이트환경에 맞게 혹은 호스팅 환경의 기능에 따라 값을 조정할 수 있습니다.
로컬에서 편집한 경우 변경 사항을 저장하고 해당 파일을 서버로 다시 업로드합니다.


.htaccess 파일을 통해
워드프레스 설치 루트 디렉토리에서 .htaccess 파일을 찾아 엽니다.
다음 줄을 추가합니다.
php_value memory_limit 256M
필요한 경우 파일을 저장하고 다시 업로드합니다 .


php.ini 파일을 통해
FTP를 통해 사이트에 연결하고 루트 디렉토리에서 php.ini 파일을 찾으세요. 보이지 않으면 만들어야 할 수도 있습니다.
다음 줄을 추가하거나 수정하세요.
memory_limit = 256M
로컬에서 작업하는 경우 파일을 저장하고 서버에 업로드합니다 .

 

 

+ 파일 권한

파일 권한을 조정하는 것은 잘못하면 상당한 위험이 따릅니다. 기술에 자신이 없다면 전문가에게 도움을 요청하는 것이 가장 좋습니다.

권한을 변경하려면 서버에 대한 SSH 액세스가 필요합니다. 이를 통해 워드프레스 웹사이트가 호스팅되는 서버에서 직접 연결하고 명령을 실행할 수 있는 안전한 방법이 제공됩니다.

 

SSH를 통해
SSH를 통해 연결하려면 서버에 대한 특정 명령줄과 비밀번호가 필요합니다. 
명령줄에는 서버 주소, 사용자 이름 및 포트가 포함되어야 합니다.

명령 프롬프트를 엽니다.
주소 , 사용자 이름 , 포트를 명령줄에 복사하여 붙여넣은 다음 Enter를 합니다.
메시지가 나타나면 비밀번호를 입력하고 Enter를 합니다 .

 

파일에 대한 올바른 권한을 설정하려면 다음과 같은 명령어을 입력합니다.

sudo find . -type f -exec chmod 664 {} +

 

디렉토리의 경우 다음과 같은 명령어를 입력합니다.

 sudo find . -type d -exec chmod 775 {} +

 

특히 wp-config.php 파일에 대해서는 다음과 같은 명령어를 입력합니다.

 sudo chmod 660 wp-config.php

 

 

이러한 명령은 워드프레스 설치 내의 모든 파일과 디렉토리에 대한 적절한 권한을 체계적으로 찾아 적용하고, wp-config.php 파일의 보안을 강화합니다.

 

+ 업데이트 실패

업데이트가 계획대로 진행되지 않는 경우(예: 서버 시간 초과) 워드프레스는 빈 화면으로 표현되는 일종의 멈춤 상태에 빠질 수 있습니다.

워드프레스가 업데이트되면 일시적으로 사이트가 유지 관리 모드로 전환되며, 이는 워드프레스 루트 디렉토리에 .maintenance 파일이 있는 것으로 표시됩니다. 업데이트 프로세스가 중단되거나 제대로 완료되지 않으면 이 파일이 남겨져 사이트가 무기한 유지 관리 모드로 잠길 수 있습니다.

 

.maintenance 파일을 확인하고 삭제합니다.

FTP 클라이언트나 호스팅 제어판에서 제공하는 파일 관리자를 사용하여 워드프레스 설치의 루트 디렉토리로 이동합니다. 여기서 wp-config.php 와 같은 파일 과 wp-content 와 같은 폴더를 찾을 수 있습니다 .

.maintenance 라는 파일을 찾습니다.

 

일반적으로 루트 디렉토리의 맨 위에 보이는데, 점(.)으로 시작하는 파일이 알파벳 정렬에서 먼저 나오기 때문입니다. 일부 FTP 클라이언트나 파일 관리자는 기본적으로 이러한 점 파일을 숨길 수 있으므로 설정을 조정하여 보이게 해야 할 수도 있습니다.


파일을 찾으면 삭제합니다 . 이 작업을 수행하면 사이트가 유지 관리 모드에서 해제됩니다.
유일한 문제가 .maintenance 파일에 문제가 있었다면, 이제 사이트가 정상적으로 로드될 것입니다. 

이는 일반적으로 업데이트가 실제로 성공적으로 완료되었지만 워드프레스가 파일을 제거하지 못했을 때 발생합니다.

업데이트가 중단되어 완료되지 않은 경우 워드프레스는 .maintenance 파일이 제거되면 자동으로 업데이트 프로세스를 다시 시작하려고 시도할 수 있습니다. 
사이트와 관리자 대시보드에서 업데이트 알림이나 프롬프트를 눈여겨 보아야 합니다.

 

 

+ PHP 텍스트 처리 제한 조정

PHP는 텍스트 패턴 매칭을 위해 PCRE 라이브러리(Perl Compatible Regular Expressions)를 사용합니다. pcre.backtrack_limit 및 pcre.recursion_limit 설정은 포기하기 전에 PHP가 처리할 수 있는 텍스트 패턴의 복잡성을 정의합니다.
이러한 제한을 늘리면 PHP가 화이트스크린을 트리거할 수 있는 더 길고 복잡한 게시물을 처리할 수 있습니다.

한도를 늘리려면 FTP 클라이언트를 사용하여 wp-config.php 파일에 액세스합니다.
편집을 위해 wp-config.php 파일을 엽니다 . 

 

일반적으로 호스팅 제어판의 파일 관리자를 통해 직접 파일을 편집할 수 있거나, 파일을 다운로드하여 텍스트 편집기로 편집한 다음 서버에 다시 업로드할 수 있습니다.
파일 맨 아래, / * That's all, stop editing! Happy publishing.*/ 라는 줄 바로 앞까지 스크롤합니다 . 

여기에 다음 코드를 붙여넣습니다.

 

/* 긴 게시물을 위한 트릭 */ 
 ini_set('pcre.recursion_limit', '20000000'); 
 ini_set('pcre.backtrack_limit', '10000000');

 

이 코드는 PHP 설정을 조정하여 텍스트 처리 기능을 향상시킵니다.

코드를 추가한 후 wp-config.php 파일을 저장하고, 로컬에서 편집한 경우 서버로 다시 업로드했는지 확인을 합니다. 


웹사이트를 새로고침해서  화이트 스크린이 해결되었는지 확인을 합니다.

웹사이트가 정상 작동으로 돌아오면 문제가 PHP의 긴 게시물 처리와 관련이 있을 가능성이 큽니다.

 

 

+ 화이트스크린 오류에 대한 결론

죽음의 화이튼스크린에 대해 플러그인 및 테마 충돌부터 PHP 메모리 제한, 권한 설정, 업데이트 문제, 코딩 오류, 심지어 긴 게시물에 대한 PHP 텍스트 처리 제한까지 다양한 잠재적 원인과 해결방법을 알아보았습니다.

 

각각의 방법은 화이트스크린을 진단하고 해결하는 경로를 제공하며 체계적인 문제 해결, 정기적으로 웹사이트를 백업하고, 편집을 신중하게 해야만 합니다.

경험많은 전문가분이든 워드프레스 처음 접하시는 분이든 죽음의 화이트스크린이 발생을 하게되면 당황하지 말고 차근차근 하나씩 문제를 풀어나가다 보면 어느새 원래의 웹사이트를 아주 훌륭하게 운영할수가 있게 됩니다. 그리고 워드프레스에 대한 경험과 노하우가 쌓이게 될것입니다.  

반응형