카페 24 기반 워드프레스 PHP 7.4 → 8.4 업데이트 방법

워드프레스를 운영하다 보면 관리자 화면에서 가끔 “PHP 업데이트 권장” 메시지를 보게 된다. 나도 예전부터 계속 이 메시지를 보고 있었지만, 사이트가 정상적으로 동작하고 있었기 때문에 굳이 건드리지 않고 그냥 사용하고 있었다. 괜히 PHP 버전을 올렸다가 플러그인이나 테마가 깨지면 더 큰 일이 될 것 같아서 일부러 미루고 있었던 것도 사실이다.

하지만 PHP 7.4 버전이 보안 업데이트 지원이 종료되었다는 이야기를 보고 더 이상 미루면 안 되겠다는 생각이 들었다. 특히 워드프레스는 플러그인도 많고 외부 접근이 많은 구조라서, 보안 업데이트가 안 되는 상태로 계속 운영하는 것은 조금 위험할 수도 있겠다는 생각이 들었다.

그래서 이번 기회에 워드프레스 PHP 버전을 기존 7.4에서 최신 버전으로 업그레이드해 보기로 했다. 단순히 버전만 올리는 작업이라고 생각했는데, 실제로 해보니 확인해야 할 것들도 있었고, 속도나 일부 플러그인 동작에도 약간의 변화가 있었다. 이번 글에서는 워드프레스 PHP 버전을 업그레이드하면서 겪은 내용과 느낀 점을 정리해 보려고 한다.

PHP 업데이트 권장 메시지 (7.4.5p1)
PHP 업데이트 권장 메시지 (7.4.5p1)

PHP란?

PHP는 웹사이트를 동적으로 동작하게 만들기 위해 사용하는 서버 측 프로그래밍 언어다. 우리가 브라우저에서 어떤 페이지를 열었을 때 단순한 HTML 파일을 보여주는 것이 아니라, 로그인 정보 확인, 게시글 조회, 댓글 저장 같은 동작을 처리해 주는 역할을 PHP 같은 서버 언어가 담당한다. 워드프레스 역시 PHP로 만들어진 대표적인 웹 애플리케이션 중 하나이기 때문에, 서버에 설치된 PHP 버전에 따라 사이트의 성능이나 보안, 플러그인 호환성 등이 영향을 받게 된다.

PHP 버전이 오래되면 보안 업데이트가 더 이상 제공되지 않거나, 최신 워드프레스 및 플러그인이 제대로 동작하지 않을 수 있다. 반대로 PHP 버전을 최신으로 유지하면 보안 패치가 계속 제공되고, 처리 속도도 더 빨라지는 경우가 많다. 그래서 워드프레스를 운영할 때는 워드프레스 버전뿐만 아니라 PHP 버전도 함께 관리해 주는 것이 중요하다.

그중에서도 워드프레스를 운영하다 보면 functions.php 파일을 수정할 일이 생각보다 자주 생긴다. (참고: 워드프레스 테마 편집하기: functions.php 파일 편집하기) 간단한 기능을 추가하거나, 플러그인을 사용하지 않고 코드를 직접 추가해야 하는 경우 대부분 이 파일을 수정하게 된다. 테마의 동작을 바꾸거나, 특정 스크립트를 추가하거나, 관리자 기능을 조금 수정하는 작업들도 대부분 functions.php에서 처리하게 된다.

문제는 PHP 버전이 올라가면 기존에 아무 문제 없이 동작하던 코드가 경고를 발생시키거나, 경우에 따라서는 오류가 발생하기도 한다는 점이다. 특히 예전에 작성된 코드나 인터넷에서 그대로 가져온 코드들은 최신 PHP 문법 기준에서는 권장되지 않는 방식인 경우도 많아서, PHP 버전을 업데이트할 때는 이런 부분도 함께 점검할 필요가 있다. 그래서 단순히 서버에서 PHP 버전만 올리는 작업이 아니라, 워드프레스 테마나 플러그인, 그리고 functions.php에 추가해 둔 코드들도 같이 확인하는 과정이 필요했다.

PHP 7.4 와 8.3의 차이

PHP 7.4에서 8.3으로 넘어오면서 가장 큰 변화는 단순히 성능만 좋아진 게 아니라 문법, 오류 처리 방식, deprecated(앞으로 제거될 예정이니 사용하지 말라고 미리 안내하는 기능 또는 문법을 의미) 기능 제거가 많이 이루어졌다는 점이다.

먼저 가장 큰 차이는 성능이다. PHP 8부터 JIT(Just-In-Time) 컴파일러가 도입되면서 전체적으로 처리 속도가 꽤 빨라졌다. 워드프레스처럼 PHP 요청이 많은 구조에서는 페이지 로딩 속도나 관리자 화면 속도가 실제로 조금 빨라지는 경우가 많다. 특히 플러그인이 많은 사이트일수록 차이가 나는 편이다.

JIT 컴파일러

JIT(Just-In-Time) 컴파일러는 PHP 코드를 실행하면서 자주 사용되는 부분을 실시간으로 기계어로 변환하여 실행 속도를 높여주는 기술이다.

두 번째는 오류 처리 방식이 더 엄격해졌다. PHP 7에서는 경고(Warning)만 나오고 넘어가던 코드들이 PHP 8에서는 Fatal Error로 바뀌는 경우가 있다. 그래서 예전에 작성된 테마나 플러그인, functions.php 코드가 PHP 8에서 갑자기 사이트 오류를 일으키는 경우가 꽤 있다. 워드프레스 PHP 업데이트할 때 사이트가 갑자기 하얀 화면 되는 경우 대부분 이 문제 때문이다.

세 번째는 위에서도 언급했듯이 deprecated(더 이상 사용 권장되지 않는 기능)들이 많이 제거되었다는 점이다. 대표적으로 많이 걸리는 것들이 있는데, 예를 들면 null을 문자열 함수에 바로 넣는 경우, 오래된 방식의 생성자, 일부 문자열 처리 함수 사용 방식 등이 PHP 8에서 경고 또는 오류가 발생한다. 예전에 인터넷에서 복사해 온 코드들이 이런 부분에 많이 걸린다.

네 번째는 타입 관련 기능이 많이 강화되었다. PHP 8부터는 union type, mixed type 같은 타입 선언 기능이 추가되면서 코드 작성 방식이 조금 더 Java나 C# 같은 언어 느낌에 가까워졌다. 일반 워드프레스 사용자 입장에서는 크게 체감되지는 않지만, 테마나 플러그인 개발하는 사람들한테는 꽤 큰 변화다.

워드프레스 PHP 7.4 → 8.3 업그레이드 방법

워드프레스 버전 업그레이드 한 이후 이 메시지가 출력 되기 시작했다. (워드프레스 업데이트 진행 (6.7.5 → 6.9.4 업데이트 진행 과정))

하단의 취소 선을 내용은 내가 무지한 상태에서 잘못 알았던 내용이다. 🥲 결론만 이야기 하자면 워드프레스 PHP 는 보통 관리자 페이지에서 수행하지 않고 호스팅 사이트에서 수행하게 된다. 나는 현재 카페24에서 호스팅한 워드프레스 사이트를 사용하고 있다. 이 기준으로 PHP 업그레이드 방법을 설명한다.

잘못된 업그레이드 방법 내용
테마 업데이트 메시지
테마 업데이트 메시지

업데이트 후 PHP 관련 메시지가 사라졌다.

아스트라 테마 업데이트 후 PHP 관련 메시지가 사라진 이유

확실한 이유는 아니지만 워드프레스 6.9 부터 PHP 가 8.2~8.5 기준으로 동작할 때 테마 버전이 낮아 호환되지 않은 코드들이 잔재 하여 발생한 것으로 보인다. 위에 적은 것 처럼 성능, 보안, 호환성에 문제가 될 수 있으니 해당 메시지가 나온다면 얼른 해결하고 이를 조치하는

카페24 워드프레스 PHP 버전 업그레이드 방법

변경신청

먼저 카페24 관리자 페이지에 로그인한 뒤, 연장/변경/추가옵션 메뉴로 들어가서 변경신청 메뉴로 이동한다. 서버 환경이나 PHP 버전 같은 설정은 이 메뉴에서 변경할 수 있다. 글 작성 시점 기준 변경 가능한 PHP 버전은 8.4, 8.2, 8.1 이다.

서버환경 변경

서버환경을 변경할 때 FTP/DB 비밀번호를 새롭게 설정하고 수익형 블로그 테마 및 플러그인 자동설치를 진행할 수 있다. 최근 애드센스가 도입되어 도움을 받아보기 위해 이 옵션을 체크한 상태로 서버환경 변경을 시도해 보았다.

여기에서 굉장히 중요한 부분이 있는데, 서버 환경을 변경하면 기존 데이터와 DB, 이메일 등이 모두 삭제될 수 있기 때문에 반드시 백업을 먼저 진행해야 한다. 화면에도 데이터와 DB 백업을 먼저 하라는 안내가 나오고, 순서도도 데이터 백업 → 서버환경 변경 신청 → 도메인 연결 순서로 진행하도록 안내되어 있다.

DATA & DB 백업

그래서 먼저 DATA & DB 복원/백업 메뉴로 이동해서 백업을 진행했다. 백업 요청을 하면 바로 완료되는 것이 아니라, 용량에 따라 시간이 조금 걸린다. 안내 메시지에 10분 이후에 백업 현황에서 확인하라고 나오는데 실제로도 조금 기다려야 한다.

그런데 막상 실제 복원시에는 해당 백업 본을 사용한 것인지는 모르겠다. 새로 PHP 설치를 완료하고 복원하기에 표시된 것은 ‘워드프레스 설치’ 라는 이름이 출력 되었기 때문이다. 일단 혹시 모르니 무조건 백업 요청은 시도하는 것을 추천한다.

계정관리 > 백업받기/올리기 메뉴에선 위의 방식의 백업 말고도 파일 형태로 백업 받는 방법이 있다. 이 방식은 조금 번거로운데 백업을 하게 되면 경로가 출력 되고 FTP 접근 후 해당 경로에 가보면 실제 백업 파일들이 생성되어 있어 이를 다운로드 받아두면 된다. (위의 백업 기능은 최근 1~7일 의 데이터를 백업 받을 수 있다.)

서버환경 변경 실행

서버환경 변경을 진행하려고 하면 여러 가지 주의사항이 안내된다. 이 부분은 생각보다 중요한 내용이 많아서 그냥 넘기면 안 된다.

먼저 서버환경 변경 작업은 약 30분 정도 소요되고, 작업 중에는 홈페이지 접속과 FTP 접속이 모두 불가능하다고 한다. 그래서 방문자가 많은 시간이나 글 작성 중일 때는 작업을 피하는 것이 좋다. 밤이나 새벽 시간에 작업하는 것이 가장 안전하다.

그리고 세팅이 완료되기 전에 다시 변경을 신청하면 설정 누락이 발생할 수 있으니, 변경 신청 후에는 최소 30분 이상 기다렸다가 상태를 확인하는 것이 좋다.

또 하나 중요한 부분이 모든 알림 설정이 초기화된다는 점이다. 워드프레스 알림이 아니라 카페24 호스팅 쪽 알림 설정을 말하는 것 같은데, 서버환경 변경 후에는 한 번 설정을 다시 확인하는 것이 좋다.

처음에는 그냥 PHP 버전만 바꾸면 되는 줄 알았는데, 실제로 해보니 백업, 도메인 연결, SSL 같은 부분까지 같이 영향을 받는 꽤 큰 작업이라서 워드프레스 운영 중이라면 반드시 시간 여유를 두고 진행하는 것이 좋다.

PHP 업그레이드 이후 이슈

SSL 인증서 초기화

PHP 업그레이드 이후 첫 번째 이슈로 SSL 인증서가 초기화 되었다. 이는 카페 24의 도메인 연결 관리에서 웹사이트 연결 상태를 진단하면 확인할 수 있으며 유료 도메인을 사용하고 있으면 바로 새 인증서를 발급하여 적용하는 옵션이 출력 된다.

테마 초기화

SSL 인증서 설정 까지 완료한 후 워드프레스에 접속해 보니 내 글들이 제대로 열리지 않으며 “The theme directory “astra” does not exist.” 가 출력 되었다. 아스트라 테마를 다시 설치한 후 정상화 되었다.

플러그인 초기화

마지막으로 플러그인이 초기화 되었다. 전체 다 초기화 된 것은 아닌 건지 위에서 설정한 수익형 블로그 플러그인 설치 기능 때문인지 일부 플러그인 들은 계속 설치된 상태였다. 누락 된 플러그인을 하나하나 찾아가며 다시 재설치 하였다. (예: 웹 페이지 로딩 속도 향상을 위한 W3 Total Cache 플러그인)


마무리

이번에 워드프레스 PHP 버전을 7.4에서 8.x로 올리면서 느낀 점은, 워드프레스는 워드프레스 버전만 관리하는 것이 아니라 PHP 버전, 테마, 플러그인까지 같이 관리해야 전체적으로 안정적으로 운영할 수 있다는 것이었다.

특히 카페24에서 서버환경 변경을 통해 PHP 버전을 변경하는 경우에는 사이트가 잠시 접속 불가 상태가 되고 SSL, 테마, 플러그인 설정이 일부 초기화될 수 있으니 반드시 백업 후 진행하는 것을 추천한다.

혹시 나처럼 PHP 업데이트 권장 메시지를 계속 미루고 있었다면, 너무 오래 미루지 말고 한 번 정리하는 느낌으로 업데이트를 진행해 보는 것도 좋을 것 같다.

댓글 달기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

목차
위로 스크롤