[워드프레스] 워드프레스 플러그인 업데이트 오류 (PHP Fatal Error with WordPress)
어느 날 접속한 워드프레스 페이지가 갑자기 안될 때? 복구 모드, 유지보수 모드 등 정상적으로 페이지가 열리지 않을 때? 간혹 자동 업데이트로 인해 사용하는 워드프레스와 업데이트된 플러그인 버전 호환이 안 돼서 PHP Fatal Error 발생 시 대처 방법을 소개한다!
1. 어떤 플러그인이 문제인지 어떻게 아나요?
로그 속에 답이 있으므로 우선 로그를 봐야 한다. 놀랍게도 우리 개발팀 명언 중 하나인데 틀린 적이 없다 워드프레스 환경에 따라 로그 보는 방법이 다양하게 있고 나는 아래 방법들로 확인이 가능했다.
워드프레스 설정에서 이메일 설정이 되어있다면 관리자 계정의 이메일로 서버 로그가 첨부돼서 보내지므로 해당 로그를 확인한다. 이 경우 메일에 있는 복구모드 링크를 통해 접속가능하므로 해결이 쉬워진다.
도커 호스팅일 경우 도커툴 > 해당 이미지 컨테이너에서 제공하는 로그툴에서 확인한다. 로그툴에 로그가 안뜰시 컨테이너 재기동 이후 임의로 현상 재현 후 확인한다.
2. 복구 모드
어떤 플러그인이 문제였는지 확인되었다면 어떤 방법으로든 그 플러그인을 비활성화한다. 제일 쉬운 방법은 복구 모드에서 그냥 그 플러그인을 비활성화해버리는 것이다.
하지만 여러가지 이유로 복구 모드 진입이 불가능할 경우가 있는데 그럴땐 FTP로 해당 플러그인 폴더의 이름 바꿔서 비활성화하면 된다. 참고로 플러그인 폴더의 경로는 다음과 같다.
.../wordpress/wp-content/plugins/my-plugin
3. 워드프레스 포럼
문제가 발생한 플러그인의 워드프레스 포럼에 문의한다. All in One SEO처럼 점유율이 높은 플러그인일수록 내가 문의하기 전에 이미 다른 사람이 먼저 문의하는 경우가 있고 이 경우 플러그인 개발자로부터 빠르고 정확하게 도움 받을 수 있다. 물론 메일을 통해 문제를 지속적으로 모니터링하는 것도 가능하다.
4. 그 외
나도 오래간만에 블로그에 접속하니 맛탱이(?)가 가버려서 삽질하면서 해결한 내용들을 정리해 본다. 예시로 든 All in One SEO 플러그인이 문제였는데 다행히도 내가 정리했던 방법으로 잘 해결할 수 있었다. 우선 문제가 생긴 플러그인을 비활성화하고 대체 플러그인을 찾던지, 플러그인 개발자로부터 솔루션이 나올 때까지 기다리던지, 능력자라면 직접 해결한다던지 해결하는 방법은 여러 가지다.
이 사고 이후로 보안 관련 플러그인을 제외한 모든 플러그인은 자동 업데이트를 비활성화했다. 하더라도 버전 코드의 패치 넘버가 0 인 업데이트는 무조건 거르고 있다. 내가 완전 초짜일 때는 무조건 최신 업데이트가 최고라는 고집이 있었는데 지금은 안정적인 서비스를 운영하려면 무조건 최신 업데이트를 하는 태도는 지양할 필요가 있다고 생각한다.