워드프레스: 파일의 시작 부분에 "BOM(바이트 순서 표시)"이 있습니다 오류가 발생하는 경우

워드프레스 정보를 제공하는 블로그 Avada 2024. 2. 12. 16:51 • 댓글:

드물지만 워드프레스에서 "BOM(바이트 순서 표시)" 관련 에러가 발생하는 경우가 있습니다. 네이버 카페에 UpdraftPlus 백업/복원 플러그인을 사용하여 백업을 시도할 때 "/www_root/wp-content/themes/generatepress-child/functions.php 파일의 시작 부분에 "BOM(바이트 순서 표시)"이 있습니다" 오류가 발생하면서 백업에 실패하는 문제에 대하여 질문이 올라온 적이 있습니다.

워드프레스: 파일의 시작 부분에 "BOM(바이트 순서 표시)"이 있습니다 오류가 발생하는 경우

저는 거의 모든 워드프레스 사이트에 UpdraftPlus 플러그인을 설치하여 정기적으로 백업을 하고 있습니다. 이때까지 이런 오류가 발생한 적이 없었습니다.

BOM이란?

BOM(바이트 순서 표시)이란 용어가 생성할 것 같은데요.

바이트 순서 표시(BOM, Byte Order Mark)는 특히 UTF-16과 UTF-32 같은 유니코드 인코딩에서 사용되며, 텍스트 파일의 시작 부분에 위치하는 특수한 문자 코드입니다. 이 코드는 텍스트 스트림의 바이트 순서(엔디언)를 식별하는 데 사용됩니다. 바이트 순서는 다중 바이트 값을 저장하거나 전송할 때 높은 순서 바이트(high-order byte)와 낮은 순서 바이트(low-order byte)의 순서를 말합니다.

UTF-8에서도 BOM을 사용할 수 있으나, 바이트 순서를 식별할 필요가 없기 때문에 일반적으로는 필요하지 않습니다. 그러나 일부 애플리케이션은 UTF-8 인코딩을 식별하기 위해 파일 시작 부분에 BOM을 추가하기도 합니다.

BOM의 사용은 선택적이며, 모든 환경에서 필요한 것은 아닙니다. 실제로, BOM이 없는 것이 기본값이거나 선호되는 경우도 많습니다. BOM의 존재는 때로는 파일 처리에 문제를 일으킬 수 있으므로, 사용하기 전에 해당 환경이나 애플리케이션에서 BOM의 사용을 어떻게 처리하는지 확인하는 것이 중요합니다.

- UTF-8의 BOM은 EF BB BF
- UTF-16의 리틀 엔디언 BOM은 FF FE
- UTF-16의 빅 엔디언 BOM은 FE FF
- UTF-32의 리틀 엔디언 BOM은 FF FE 00 00
- UTF-32의 빅 엔디언 BOM은 00 00 FE FF

입니다. BOM을 사용함으로써 파일을 여는 소프트웨어가 올바른 인코딩을 자동으로 인식하고 올바르게 처리할 수 있게 됩니다.

워드프레스에서 BOM 오류가 발생하는 경우

UpdraftPlus로 백업을 시도할 때 "/www_root/wp-content/themes/generatepress-child/functions.php 파일의 시작 부분에 "BOM(바이트 순서 표시)"이 있습니다" 오류 메시지가 표시되어 이 파일을 파일 편집기로 열어보니 다음과 같이 함수 파일의 맨 앞에 이상한 문자가 있었습니다.

워드프레스: 파일의 시작 부분에 BOM(바이트 순서 표시)이 있습니다 오류

위의 그림과 같이 함수 파일의 맨 앞에 이상한 문자가 있는 경우, 해당 문자(빨간색 점)를 삭제하면 문제가 해결될 수도 있을 것 같습니다.

wp-config.php has a “byte order mark” (BOM) 문서에서는 wp-config.php 파일에 BOM  문자가 있는 문제에 대한 글인데요. 여기에서는 파일을 UTF-8 without BOM 인코딩으로 저장하니 문제가 해결되었다고 합니다.

Thanks to your information I was able to solve the problem with the Notepad editor by choosing the encoding “UTF-8 without BOM”. Now the warning on the website has disappeared.

차일드 테마의 함수 파일에 존재하는 BOM 문자로 인해 문제가 되는 경우 차일드 테마를 새로 설치하는 것도 하나의 방법이 될 수 있습니다.

GeneratePress 테마와 Astra 테마의 차일드 테마는 아래에서 다운로드할 수 있습니다.

기존 차일드 테마의 함수 파일에 추가한 코드가 있다면 차일드 테마를 새로 설치한 후에 수정 사항을 추가하시기 바랍니다.

아바다 테마 등 유료 테마의 경우 Themeforest에서 다운로드한 테마 파일에 차일드 테마 설치 파일도 포함되어 있을 수 있습니다.

wp-config.php 파일에서 BOM 문자 문제가 발생하는 경우 wp-config.php 파일을 다운로드한 다음, wp-config.php 파일을 삭제하고 wp-config-sample.php 파일의 이름을 wp-config.php 파일로 변경하도록 합니다.

그런 다음, 다운로드한 wp-config.php 파일을 참고하여 wp-config.php 파일에서 디비 관련 정보를 새로 입력할 수 있습니다.

// ** Database settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define( 'DB_NAME', 'database_name_here' );

/** Database username */
define( 'DB_USER', 'username_here' );

/** Database password */
define( 'DB_PASSWORD', 'password_here' );

/** Database hostname */
define( 'DB_HOST', 'localhost' );

DB 이름, DB 사용자, DB 비밀번호, DB 호스트 정보를 적절히 수정하도록 합니다. (DB 호스트는 보통 localhost이지만, 일부 웹호스팅에서는 다를 수 있습니다.)

이 작업을 위해서는 FTP에 접속할 수 있어야 합니다.

참고

https://avada.tistory.com/3176

 

워드프레스 All-in-One WP Migration: 500MB 이상의 큰 파일 복원하기

All-in-One WP Migration은 현재 500만 개 이상의 사이트에 설치되어 사용되는 인기 워드프레스 마이그레이션 플러그인입니다. 이 플러그인을 사용하여 사이트를 백업하고 추후에 복원할 수 있습니다.

avada.tistory.com

https://avada.tistory.com/3046

 

해외웹호스팅: 클라우드웨이즈 vs. 블루호스트 vs. 카페24 비교 (Cloudways vs. Bluehost vs. Cafe24)

저는 오랫동안 블루호스트(Bluehost)를 이용해 왔으며 2021년부터는 클라우드웨이즈(Cloudways) 웹호스팅 서비스도 함께 이용하고 있습니다. 현재 일부 중요하지 않는 블로그는 Bluehost에서 호스팅되고

avada.tistory.com

https://avada.tistory.com/2897

 

엘리멘터 무료 버전 vs. 프로 버전 비교

엘리멘터(Elmentor)는 500만 개가 넘는 사이트에 설치되어 사용되고 있는 인기 워드프레스 페이지 빌더 플러그인입니다. 엘리멘터는 무료 버전과 프로 버전으로 제공됩니다. Elementor 프로 버전에서

avada.tistory.com

 

워드프레스 네이버 카페