AWS 라이트 세일의 경우 vm이다보니 PHP 버전업과 같은 것들에 한계가 있다.
그런데 이번에 워드프레스를 6.3.1 버전이 나왔고 예전에도 자연스럽게 업데이트 되었기 때문에 이번 업데이트도 기존 환경에 영향이 없을 줄 알고 진행했다가 업데이트 중 중단되더니 아래와 같은 오류 메시지가 떴다.
내용에 있듯이 디버깅하기 위해 어떻게 해야하는 지 확인 후 wp-config.php의 WP_DEBUG 를 true로 바꾸어 서버에 덮어씌우기 했다.
그런 다음 새로고침하면 아래처럼 오류 내용이 나온다.
str_starts_with() 가 문제인거 같다.
검색해봤더니 https://www.php.net/manual/en/function.str-starts-with.php PHP 8에서 사용하는 함수다.
내가 선택한 라이트세일의 인스턴스는 php 버전이 7.3.14 이다.
그렇기 때문에 오류가 난 것이다.
PHP 버전을 올릴 수 없는 라이트 세일이기 때문에 다시 워드프레스를 예전 버전으로 돌려야한다.
이 과정이 맞는 지 모르지만 난 아래처럼 진행했다.
진행 과정은 따로 캡쳐하지 못했기 때문에 최대한 정리해서 쓰려고 한다.
- 무조건 백업 받아둔다. DB도 서버상의 파일들도 다 백업해 둔다. 왜냐하면 아래 방법이 100% 모든 케이스에 적용되는건 아니기 때문이다.
- https://ko.wordpress.org/download/releases/ 에서 6.2.2 (나는 이 버전으로 기억한다.) 버전을 zip로 다운받는다.
- FTP로 접속해서 기존 /wp-content/plugins 안의 기존 플러그인들을 전부 다운로드 받아서 백업해둔다.
- 그리고 /wp-content/plugins 안의 폴더와 파일들을 전부 삭제한다.
- 만약 퍼미션에 의해서 삭제가 안된다면 해당 파일과 폴더의 소유자/그룹이 daemon/daemon으로 되어 있을 수 있다.
이 때는 bitnami로 FTP를 접속했다면 당연히 권한 문제로 삭제가 안된다.
이럴 경우 ssh 로 접속해서 plugins 폴더 이하 모든 파일과 폴더의 소유 권한을 wp-content 폴더로 이동해서 아래 커맨드를 입력해서 변경해준다.
sudo chown -R bitnami:daemon plugins - 다운받아 둔 6.2.2 버전의 zip 파일을 압축풀어서 FTP에 덮어씌우기로 업로드한다.
- 만약 또 퍼비션의 문제로 업로드가 되지 않는다면 위에 기입했던 것처럼 소유 권한을 bitnami로 변경하고 업로드한다.
- 이렇게 해놓으니 정상으로 열렸다.
오늘 다시 생각했다.
AWS 라이트세일에서 함부로 워드프레스 버전과 플러그인들의 버전을 함부로 올리지 말자고 ㅠ