첨부파일 전체용량 제한 또는 PHP 메모리 용량 제한

첨부파일 전체용량 제한 또는 PHP 메모리 용량 제한

QA

첨부파일 전체용량 제한 또는 PHP 메모리 용량 제한

본문

안녕하세요 고수님들. 이제 막 시작한 쌩초보입니다. 

프론트앤드 기술자로 회사 입사 후 관리를 맡게 된 그누보드4와 드림위버로 제작된 홈페이지가 있는데요.  

 

잘 작동 되던 홈페이지가 전체 페이지에 걸쳐 상단 메뉴와 메인 비쥬얼 화면만 남긴채 나와야 할 컨텐츠들이 웹상에서 전부 출력이 안되는 겁니다.

 

91059c5fd1299e3421846ec44817972e_1455843366_1683.jpg
 

 

위와 같은 상황이 전체 페이지에 걸쳐 일어나더군요. 

 

원인을 찾던중 소스 보기에서 <?=latest("empsub_460_photo", "data03", 7, 1);?> 이 코드가 걸려있는 아래 소스들은 전부 출력이 안되는 현상을 발견했습니다. 

 

확인해 보니 저 코드는 갤러리에 올라가는 최신 업로드 된 사진을 받아서 상단 메뉴바 밑 하얀색 박스 부분에 슬라이드로 이미지를 구현해 주는 코드 였습니다. 

 

갤러리에 업로드한 이미지가 문제가 된 것을 판단하여 FTP상에서 걸려버린 이미지를 찾아 삭제 하였더니 다행이 정상적으로 홈페이지가 작동하였으나 해당 이미지 삭제 결과 슬라이드상에서 그 이미지에 해당하는 부분이 X 박스로 표현되고 갤러리 게시판 상단에 이미지를 찾을 수 없다는 오류코드가 나오더군요. 

 

Warning: getimagesize(../data/cheditor4/1602/cf9417d4b1d454cb448fa9be5087a089_1455760990.6991.jpg): failed to open stream: No such file or directory in /home/hlla86/www/gnuboard4/skin/board/basic2011multitap_data03/list.news.skin.php on line 205 

 

혹시나 하는 마음에 백업해 놓은 해당 이미지 용량을 100kb로 줄여서 업로드 하였더니

모든 것이 정상적으로 작동하는 것입니다. 기존에 그 이미지 용량은 약 3메가 정도 였습니다.

 

기존에도 이 갤러리 상에서 계속 3-4메가에 해당하는 이미지를 업로드했고 상당 이미지 슬라이드에서 문제없이 구현되어 왔는데 갑자기 지금와서 이런 현상이 생기는 이유가 궁금합니다.

 

혹시 해당 파일만의 문제였다면 기존에 비슷한 용량의 파일을 업로드했을 때 바로 문제가 생겼어야 했는데 말입니다.

 

호스팅 업체 측에서는 PHP 상에서 한 번에 올릴 수 있는 첨부파일 크기가 30메가로 제한되어 있다고 하면서 그 정도 크기 파일 업로드 한 것이 아니면 프로그램 상에서 문제가 생긴것다고 합니다.

 

참고로, 이 홈페이지는 현재 호스팅 서버 디스크용량 10기가 제품을 서비스 받고 있으며 현재 약 8기가정도를 사용중입니다. 아직 2기가 정도의 서버 용량이 남아있습니다.

 

여기서 질문은

 

(기존에 3-4메가 파일이 업로드 됐을 때 문제없다가 갑자기 문제가 생겼고 그 파일 용량을 100kb로 줄여서 올렸더니 문제가 발생하지 않았다는 것이 질문 전제의 포인트입니다 그럼 용량이 크거나 일정 용량의 다다르면 똑같은 문제가 발생할 것 같습니다. 실제로 큰 용량을 다시 올렸더니 처음 생겼던 화면 전체 오류가 발생하더군요)

 

1. (그누보드4 사용중) 하나의 게시판 상에서 업로드할 수 있는 첨부파일 총량의 제한이 있나요?

2. 호스팅 업체 측에서 서버쪽 문제와 DB 쪽에서 문제는 아니라고 하는데 맞나요?

3. 그리고 저도 이 문제 아닐까 싶은데, 큰 파일 용량을 업로드하면 일단 FTP 상에서 서버 쪽에는 그 파일이 업로드 되는 걸로 확인 됩니다. 그럼 그 파일을 상단 이미지 슬라이드에 뿌려지는 과정에서 문제가 생기는 걸까요? 그럼 진작에 3-4메가 이미지를 올렸을 때 문제가 됐어야 했는데 이제와서 갑자기 이러는 걸까요? 혹시 이 뿌려지는 코드 상에서 메모리 제한 같은게 있는 건지;;;

 

많이 답답합니다.

 

아 참고로,

 

최초 문제 발생시 콘솔 박스에 떳던 오류코드가 있었습니다.

 

Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 21248 bytes) in /home/hlla86/www/gnuboard4/skin/latest/emp_460_photo/skin.lib.php on line 84

 

혹시 상단 이미지 슬라이드 구현해주는 코드 상에서 메모리 용량이 할당되어 있고 이 할당된 메모리가 넘쳐서 생긴 문제인거 같기도 합니다만...;;; 왕 초보라 PHP는 거의 모릅니다.

 

고수님들의 고견 부탁드립니다. 감사합니다

이 질문에 댓글 쓰기 :

답변 2

메모리제한이 초과된 현상이 맞습니다.

호스팅사에서 말하는 첨부파일 제한용량과는 별개구요.

 

ini 설정이 막혀있으면 어쩔수 없지만 

문제가 된 파일 상단에  ini_set('memory_limit','-1'); 을 넣고 돌려보세요.

 

http://zetawiki.com/wiki/PHP_%EB%A9%94%EB%AA%A8%EB%A6%AC_%EB%B6%80%EC%A1%B1 

 

 


 

메모리도 메모리이지만 현재 문제는 이미지가 CMYK 인지 RGB 인지도 파악이 필요합니다.

기본적으로 웹에서는 CMYK 로 작성된 이미지가 정상적으로 표현되지 않을 수 있으며

해당 이미지를 리사이징 하는 과정에서의 오류로 메모리 오류가 난 것으로 보여집니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 10,637
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT