BOARD

문제 해결

PHP 파일 인코딩(BOM)으로 인한 레이아웃 여백 및 헤더 오류 해결 방법

페이지 정보

profile_image
작성자 최고관리자
댓글 0건 조회 28회 작성일 26-09-12 22:33

본문

PHP 파일 인코딩(BOM)으로 인한 레이아웃 여백 및 헤더 오류 해결 방법

그누보드 운영 중 웹페이지 상단 공백이나 헤더 전송 오류가 발생할 때, BOM 인코딩과 파일 공백을 수정하여 레이아웃을 정상화하는 방법을 안내합니다.

PHP 파일 인코딩 및 공백 오류 원인

웹 페이지 상단에 의도하지 않은 공백이나 여백이 발생하거나, 서버 이전 후 Warning: Cannot modify header information - headers already sent by...와 같은 오류 메시지가 나타나는 원인은 주로 PHP 파일의 인코딩 설정이나 파일 시작 부분의 보이지 않는 공백 때문입니다.

가장 흔한 원인은 파일을 저장할 때 UTF-8 + BOM 인코딩을 사용했기 때문입니다. BOM(Byte Order Mark)은 텍스트 파일의 인코딩을 식별하기 위한 문자인데, PHP 파일에서는 이를 실제 출력으로 인식하여 헤더가 전송되기 전에 공백을 먼저 출력해버리는 문제가 생깁니다. 특히 윈도우 기본 메모장으로 파일을 수정하면 자동으로 BOM이 포함되는 경우가 많습니다.

PHP 파일 인코딩(BOM) 및 공백 수정 방법

작업 전 반드시 문제가 발생한 원본 파일을 백업해 두시기 바랍니다.

  1. 전문 에디터 사용: 윈도우 기본 메모장 대신 전문 코드 에디터(VS Code, Notepad++, Sublime Text 등)를 사용하세요.
  2. 인코딩 변경: 파일을 열어 인코딩 설정을 UTF-8(BOM 없음)으로 변경한 뒤 저장합니다.
  3. 공백 제거: PHP 시작 태그(<?php) 앞이나 파일 마지막 닫는 태그(?>) 뒤에 불필요한 공백이나 빈 줄이 있는지 확인하고 제거합니다.
  4. 파일 재생성: 위 방법으로 해결되지 않는다면, 새 파일을 생성하여 기존 코드를 복사해 붙여넣고 저장하는 것이 가장 확실합니다.

적용 예시

아래는 공백이 포함되기 쉬운 PHP 파일의 구조 예시입니다. <?php 태그 앞이나 ?> 태그 뒤에 보이지 않는 공백이 있는지 확인하십시오.

<?php
// 파일 상단 공백 확인
include_once("./_common.php");
?>
<html>
<head>...</head>
<body>...</body>
</html>

적용 후 점검 및 복구

수정된 파일을 서버에 업로드한 후 웹 페이지를 새로고침하여 상단 여백이 사라졌는지, 그리고 오류 메시지가 더 이상 출력되지 않는지 확인합니다.

복구 방법: 만약 문제가 지속되거나 사이트가 정상적으로 출력되지 않는다면, 작업 전 생성해둔 백업 파일을 서버에 다시 업로드하여 원상태로 복구하십시오.

PHP 파일 인코딩 및 공백 수정 후에도 오류가 지속될 때 대처 방법

기존 방법으로 해결되지 않는다면, 파일 재생성이 가장 확실한 대처 방법입니다. 작업 시 기존 코드가 유실되지 않도록 주의하십시오.

파일 재생성 절차

  1. 원본 백업: 작업 전 문제가 발생한 파일을 반드시 백업합니다.
  2. 새 파일 생성: 전문 코드 에디터를 사용하여 새 파일을 만듭니다.
  3. 코드 복사: 기존 파일의 코드를 복사하여 새 파일에 붙여넣습니다.
  4. 인코딩 설정 및 저장: 파일을 UTF-8(BOM 없음) 인코딩으로 설정한 뒤 저장합니다.
  5. 공백 확인: <?php 태그 앞이나 ?> 태그 뒤에 불필요한 공백이 없는지 확인합니다.

이후 파일을 서버에 업로드하여 결과를 확인하십시오.

파일 수정 중 사이트 오류 발생 시 원상태 복구 방법

PHP 파일 수정 작업 중 문제가 지속되거나 사이트가 정상적으로 출력되지 않는다면, 작업 전 생성해둔 백업 파일을 서버에 다시 업로드하여 원상태로 복구해야 합니다.

함께 보면 좋은 글

참고자료

기타 참고자료

댓글목록

등록된 댓글이 없습니다.