웹마스터 팁

글에 이미지가 업로드 되어 있어도 목록보기에서 썸네일이 안생기는 문제가 생기는 경우 해결책입니다. (섬네일,thumbnail)
참고로 제 서버의 PHP버전은 5.2.4이고, GD 버전은 2.0.34 입니다.

증상:
이미지 파일의 크기와는 상관없이 픽셀이 3백만 픽셀을 넘어가면서 문제가 생기더군요.

예:
간단한 예로, 그림판 같은 것으로 흰색 2000 x 2000 픽셀 이미지를 만들어서 jpg 형태로 저장하고 첨부파일로 올린 다음에
목록보기에서 썸네일이 나와주게 하면 나와줘야 하는데 안나오는 경우가 있지요.
파일 크기는 50kb 정도밖에 안되지만 안나옵니다. 파일 크기와는 상관없이 해상도와 관련이 있더군요.

분석:
항상 안나오는 것은 아니고 일부 서버에서만 안나옵니다. 동일 소스를 사용해도 잘 나오는 서버도 있습니다.
어느 서버에서는 섬네일 만들다말고 PHP가 죽어버려서 페이지 오류가 발생하기도 합니다.

임시해법:
php.ini를 편집해서 
upload_max_filesize = 2M;      라고 되어 있는 부분을 찾으셔셔
upload_max_filesize = 10M;    로 수정하세요. (10M가 아니더라도 서버 상황에 맞게 적절한 값으로...)

memory_limit = 8M;    로 되어 있는 부분도
memory_limit = 32M;    처럼 키워보세요. (또는 서버 상황에 맞게 적절한 값으로)

웹호스팅을 받는 분이라면 값을 너무 키우면 서버 관리자가 싫어할수도 있으므로 필요이상 키우지는 않는것이 좋을 것입니다.  메모리 리밋이 8M면 클것 같지만 이미지 리사이징을 감당하기에는 턱없이 부족한 것 같습니다. 

참고:
기존에 썸네일을 만들다가 오류가 생겨서 0 byte로 되어있는 썸네일 파일을 지워주셔야 정상 표시됩니다. 아니면 파일을 내렸다가 다시 업로드 해주던가요. XE소스를 보니까 파일 날짜와 썸네일 날짜를 비교해서 파일날짜가 새것이어야 썸네일이 다시 생성되게 해놨더군요. 아니면 예전의 0 byte 파일이 계속 보이게 되지요.  관리자 모드 > 기능성모듈 > 문서 > 기본설정 > 썸네일 모두삭제 라는 버튼이 있네요.

기타:
1. GD library 버전 2.0.35에서 패치했다는 버퍼 오버플로우 패치가 이 문제를 수정해줄수 있을지는 안해봐서 모르겠네요. 오류가 생기는 위치나 증세로 봐서는 유사합니다만.  패치 안해주면 이걸 이용해서 DOS 공격을 할수도 있다고 나와있습니다만 이쪽에선 손뗀지 오래돼서 잘 모르겠네요. 패스~

2. 이걸로 95%는 해결이 되었습니다만 그래도 여전히 썸네일이 안생기는 놈이 있군요. 외부 이미지를 링크한 경우에 발생하는 것 같은데...

제목 글쓴이 날짜
인스타그램 해시태그 회원가입 없이 끌어오기 외인 2017.02.08
DB에서 직접 시퀀스 생성하기 [3] 기진곰 2015.07.18
XE 1.8 대응 apache 2.2 / php 5.5 / MariaDB 10 설치 [11] 간장게장같은남자 2015.04.19
구글 API 활용(뉴스가져오기) pixfine 2014.09.24
짧은 주소를 가능 하게 하는 서버(아파치, httpd) 설정 [3] 꿈섬 2014.07.27
이거 어디다 올려야 될 지 몰라 여기다 올립니다. 프로그래머님들 읽어보세요. [2] 유샤인 2014.06.10
Windows IIS 에서 F5 연타 방지하기 (mod_evasive , limit_req) [3] file StyleRoot 2014.04.08
해외 아이피 차단 방법입니다. [3] Flolida 2014.03.01
페이지로딩시 메모리 부족이란 오류메시지가 뜰때... 똑디 2013.11.07
rewrite mod 가 안 돼서 고생한 경험담입니다. [2] obok 2013.06.29
IIS 7.5 + XE 업로드 용량 개선 방법 [1] file 류군 2012.07.16
'신고 수' 노출 함수 및 신고시 게시글 이동팁 [11] 인터니즈™ 2012.07.03
이유는 모르겠는데 뷰테이블을 쓰면 XE의 속도가 크게 떨어지는 것 같습니다. [2] 철갑 2011.04.25
레이아웃에 소스추가해서 트래픽보기! [2] file 막시민 2011.03.07
nginx에서 대역폭 제한하기 fsfsdas 2011.02.20
php5 설정(최적화) fsfsdas 2011.02.20
아파치 웹 서버 설정 == httpd.conf [2] 김병화999 2009.01.02
httpd.conf 의 환경설정파일 안의 내용 [2] 김병화999 2009.01.02
아파치인증 c 드라이버에서 성공예 이성헌 2005.12.15
httpd.conf 3차 설정본 - Virtualhost 이성헌 2005.12.15