
게임 스크린샷을 풀사이즈로 올리니 이미지 파일 용량이 너무 커지는게 신경 쓰였는데, 우분투 서버 버전을 올리고 워드프레스 플러그인 정리를 좀 하다 보니 워드프레스 공식으로 나온 새로운 이미지 포맷 지원 플러그인이 있길래 설치했다.
플러그인에서는 webp, avif 이미지 포맷을 지원하는데 webp 다음에 나온게 avif 포맷이고 지원하는 브라우저는 webp 보다 적다고 하는데 최신 브라우저는 전체적으로 더 좋은건 avif 라 avif 포맷으로 가기로 결정.
플러그인을 설치하고 설정에서 avif 포맷을 선택하고 썸네일 등 이미지 재생성을 하려고 우분투 콘솔에서 wp media regenerate 커맨드를 실행했다.
여기서부터 문제가 발생하는데, 일단 처음엔 php에 있는 gd 모듈이 avif 포맷을 지원하지 않았다.
우분투 서버 24.04 버전에서는 php 8.3을 설치하는데 avif 를 지원한다고 하는 gd 버전이 설치되어 있어도 워드프레스 플러그인에는 avif 지원을 하지 않는다고 표시 된다.
이래저래 알아본 결과 ppa(개인 패키지 저장소)에 있는 gd 모듈을 설치하면 문제 없다는 글을 발견해 리포지토리를 추가.
1 |
sudo add-apt-repository ppa:ondrej/php |
없을 경우
1 |
sudo apt install software-properties-common |
리포지토리 추가 후
1 |
sudo apt upgrade |
업그레이드를 하면 php8.4도 같이 설치되더라.
php 버전이 두개가 설치되면 좀 헷갈림… php -v 해서 지금 작동하는게 어떤 버전인지 확인하도록. php 8.4가 설치되면 기본적으로 이게 우선된다.
워드프레스 관리화면에서 도구->사이트 건강->정보(탭)->미디어 처리 항목->GD 지원 파일 포맷에 AVIF가 추가 되어있을 것이다.
GD 버전은 2.3.3으로 업그레이드 이전과 같은게 함정.
우분투 콘솔에서 본 php 8.3과 8.4 버전 gd의 정보.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
sudo apt show php8.3-gd Package: php8.3-gd Version: 8.3.17-1+ubuntu24.04.1+deb.sury.org+1 Priority: optional Section: php Source: php8.3 Maintainer: Debian PHP Maintainers <team+pkg-php@tracker.debian.org> Installed-Size: 164 kB Provides: php-gd Depends: php-common (>= 1:81~), ucf, php8.3-common (= 8.3.17-1+ubuntu24.04.1+deb.sury.org+1), libc6 (>= 2.17), libgd3 (>= 2.3.3) Download-Size: 31.2 kB APT-Manual-Installed: no APT-Sources: https://ppa.launchpadcontent.net/ondrej/php/ubuntu noble/main arm64 Packages |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
sudo apt show php8.4-gd Package: php8.4-gd Version: 8.4.4-1+ubuntu24.04.1+deb.sury.org+1 Priority: optional Section: php Source: php8.4 Maintainer: Debian PHP Maintainers <team+pkg-php@tracker.debian.org> Installed-Size: 229 kB Provides: php-gd Depends: php-common (>= 2:95~), ucf, php8.4-common (= 8.4.4-1+ubuntu24.04.1+deb.sury.org+1), libc6 (>= 2.17), libgd3 (>= 2.3.3) Download-Size: 36.0 kB APT-Manual-Installed: yes APT-Sources: https://ppa.launchpadcontent.net/ondrej/php/ubuntu noble/main arm64 Packages |
wp media geraerate 커맨드로 다시 avif 파일 생성을 시도해 보면 avif파일이 생성이 되긴하는데 곳곳에 경고가 뜨고, 파일이 제대로 만들어지지 않아 0byte 파일이 생성되거나 하더라.
예를 들면 gd가 팔레트 이미지를 지원하지 않아서 생기는 에러.
Warning: imageavif(): avif doesn’t support palette images
이것저것 찾아보면서 php 에서 gd 외에 이미지 처리를 하는 라이브러리가 imagick 이라고 하나 더 있는데 이걸 쓰면 된다는 이야기가 있어서 설치해 봤다.
1 2 |
sudo apt install php8.3-imagick sudo apt install php8.4-imagick |
8.3, 8.4 두 버전을 설치해야 되는 이유 → 우분투 서버 24.04 LTS PHP 버전이 여러개 설치 되어 있는 경우
그냥 깔끔하게 다 해결 된다.
avif 파일로 가고 싶으면 처음부터 imagick을 설치했으면 아무 문제가 없었을 듯.