모니위키에서 이미지가 갑자기 표시되지 않는 문제

모니위키의 config.php를 수정하다 보면 <!>업로드한 이미지가 보이지 않는 문제를 겪을 수 있다. 이 페이지는 이러한 문제점의 원인을 분석하고 해결하기 까지의 과정을 정리한 DebugJournal이다.
----

1. 문제 발생

모니위키 1.1.3에서 추가된 cachetime 기능을 사용하려고 config.php를 수정하던 중에 갑작스레 모니위키에 업로드한 이미지가 보이지 않는 문제가 발생하게 되었다.

기존 페이지에서 attachment:image.jpg를 사용한 경우, 이미지 대신 image.jpg라는 문자만 출력되었다.

또한 UploadedFiles 페이지를 열람해봐도 이미지를 확인할 수는 없었다.

2. 문제가 발생하게 된 원인 파악

  1. 위키와 서버의 환경 파악 : 모니위키 버전은 1.1.3, 캐릭터셋은 UTF-8을 사용. 서버는 ffcomputing의 무료 계정으로 캐릭터셋은 UTF-8 이용. 서버의 php 및 아파치는 최신버전이다.

  1. 문제가 발생하기 전으로 복원 : 변경했던 설정 부분을 지우고 config.php를 계정으로 업로드

  1. 전문가에게 문의 : KLDP의 Q&A 게시판(http://kldp.net/forum/forum.php?forum_id=712)에 문의

  1. 질문글(http://kldp.net/forum/forum.php?thread_id=44804&forum_id=712) : 사실 cachetime의 기능에 대한 질문 글을 먼저 올렸는데, 설정을 변경하는 과정에서 이미지가 보이지 않게 되는 문제가 발생하여 질문을 중간에 변경하게 되었다.

  1. 원인 파악 1 : download.php가 오작동

  1. 조치 1 : /var/log/httpd/error_log 파일을 확인해서 문제점 파악하기 무료계정에서는 확인 불가능
  2. 조치 2 : config.php에서 $use_resume_download=1;에서 값을 0으로 변경 문제 해결 x

  1. 원인 파악 2 : config.php의 헤더에 UTF-8문서임을 나타내는 BOM 문자가 삽입되었기에, image 파일의 헤더부분에도 BOM문자가 삽입된 것이다. 그래서 이미지가 문서 취급을 받게 되어 제대로 출력되지 않았다는 분석 결과를 얻음. 이런 상태에서는 action=download&value=파일이름 으로 링크가 걸리는 파일은 모두 같은 문제가 발생하게 된다.

3. 문제 해결

곰곰이 기억을 되살려보니 평소에는 Notepadplusplus로 config,php를 편집하다가, 우연히 windows의 NotePad를 사용했던 것이 문제였었다. NotePad는 자동으로 BOM문자를 붙여주기에 이런 해프닝이 발생하게 된 것이다.

이후 Notepad++에서 UTF-8 without BOM 옵션을 활성화 시키고, config.php를 새로 만들어 저장한 뒤 무료계정에 올려서 깔끔하게 문제를 해결했다. ^^

4. 얻은 교훈

Retrieved from http://memorecycle.com/w/이미지가 보이지 않게 되는 문제
last modified 2016-03-04 23:10:07