워드프레스 테마 업데이트 실패

워드프레스 테마 – Astra Pro 업데이트 에러

이 블로그에는 아스트라 프로 (Astra Pro) 버전을 테마로 사용하고 있다. 그런데 어느 날부터 갑자기 테마 업그레이드가 안된다. 아래와 같이 업그레이드가 가능하다는 화면이 표시된 상태에서 업데이트를 진행하면 에러가 발생한다.

하지만 이 화면에서 업데이트를 진행하면 다음의 에러 메시지를 뿜어내면서 업데이트에 실패한다.

PCLZIP_ERR_BAD_FORMAT (-10) : Invalid archive structure

PCLZIP_ERR_BAD_FORMAT 에러의 원인

워드프레스의 테마나 플러그인을 설치하거나 업데이트 할 때 발생하는 PCLZIP_ERR_BAD_FORMAT 에러메시지의 원인이 뭔지 아무리 검색해도 정확한 답변을 제시하는 글을 찾기는 어렵다. 신뢰가 가는 가장 많은 답변은 파일시스템의 공간이 부족해 다운로드 받은 테마 zip 파일의 압축을 해제하지 못하기 때문이라는 답변이다. 가장 신뢰가 가는 이유는 어쨋든 메시지의 내용을 고려할 때 ZIP 파일의 압축을 해제하는 과정에서 발생하는 에러로 보이기 때문이다.

에러 메시지와 신뢰할만한 답변을 기준으로 원인을 찾아보기로 했다.

  1. 파일시스템 공간은 부족하지 않았다. 심지어 /tmp, /var/tmp 그리고 워드프레스가 설치된 경로와 wp-content 등의 디렉토리도 공간이 부족하지는 않았다.
  2. 상기 디렉토리의 파일과 디렉토리의 퍼미션에도 문제가 없었다. ps -ef | grep apache 명령을 실행했을 때 나오는 apache 대몬과 php-fpm 대몬의 오너와 그룹 권한에서 쓰기는 모두 가능했다.

확인 결과 Astra Pro의 테마 압축파일을 다운로드 받았을 때 zip 의 압축을 해제하는데 문제는 없어야 한다. 그렇다면 테마 파일을 다운로드 받지 못하는것은 아닐까 라는 의구심이 들었다. 그래서 테마 다운로드를 어떻게 받는지 확인해 봤더니 curl 명령으로 다운로드 받는 것으로 보인다. 그리고 조금 더 해당 에러 메시지에 대해 검색해 보니 php7.4-curl 이라는 패키지를 설치해보라는 답변이 보인다.

그래서 다음의 명령을 실행해봤다.

sudo apt list --installed | grep curl

결과는 다음과 같이 출력이 되었다.

php 버전별로 curl 이 별도로 설치되어 있다. 문제는 이 서버에서 사용하는 php8.3-fpm에 대응하는 php8.3-curl 패키지가 설치되어 있지 않았다. 아무래도 php8.3-curl이 설치되어 있지 않아서 발생한 것으로 예상된다. 이 서버에서는 php-fpm 8.3을 사용하고 있다.

php8.3-curl 패키지 설치

다음의 명령으로 php8.3-curl 패키지를 설치했다.

sudo apt-get install php8.3-curl

다음과 같이 설치가 시작된다.

php8.3-curl 패키지 설치
php8.3-curl 패키지 설치

의존성있는 php8.3과 php8.3-fpm 관련 패키지들을 함께 업그레이드한다.

php8.3-curl 설치 완료
php8.3-curl 설치 완료

마지막에는 관련 웹서비스들을 모두 재실행해준다.

그리고 나서 워드프레스의 Astra Pro 테마를 업데이트하니…. 잘 업데이트가 된다.

#php8.3-curl #PCLZIP_ERR_BAD_FORMAT

답글 남기기

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