1. 서버 환경
app : nginx/1.13.3 / xe_version : 1.8.46 / php : 5.5.9-1ubuntu4.22 / db_type : mysqli_innodb
max_file_uploads : 20 / post_max_size : 124M / memory_limit : 128M
2. 스케치북 게시판에서 이미지파일 ( 이미지 하나당 400kb~1m 이내의 이미지 18개 총용량 2m이내 )을 본문에 올리면
첨부되는 이미지 파일의 갯수가 1개에서 15개 이내일 경우 업로드가 잘되고 첨부된 문서를 삭제할 경우 서버 내 해당 파일 이미지도 함께 삭제가 잘 됩니다.
문제는 15개가 넘어가는 이미지들을 한꺼번에 첨부하면 15개까지는 제대로 첨부가 되는데 이후 이미지파일들은 첨부가 안되고 이미지가 첨부된 게시글을 삭제해도 해당 이미지는 그대로 서버내에 남아 있습니다.
서버 하드용량은 충분히 남아 있고 php.ini에서 max_file_uploads 값을 20 에서 50으로 변경, 테스트 해봐도 문제 해결이 되지 않은데 혹시 어떤 부분을 살펴봐야 할지 도움 부탁드립니다.
첨부가 안 되는 것도 여러 가지가 있습니다. 이미지가 서버에 그대로 남아 있다고 하신 것을 보면 파일은 저장이 되는데 첨부목록에 나타나지 않는 모양이군요. 즉, 흔히 첨부파일이 "증발"한다고 하는 그 현상입니다.
XE는 첨부 도중 에러가 나도 표시하지 않기 때문에 여러 가지 이유로 첨부파일이 증발해도 원인 파악이 쉽지 않습니다. (라이믹스는 첨부 도중 에러가 나면 화면에 표시됩니다.) 가장 흔한 것이 용량 부족과 퍼미션 문제인데, 글 하나에 15개까지는 정상적으로 첨부되는 것을 보면 둘 다 아닌 것 같고요.
XE는 파일 1개를 첨부하든 100개를 첨부하든 모두 1개씩 나누어 업로드하기 때문에 max_file_uploads 설정은 상관이 없습니다. 글 하나에 첨부할 수 있는 전체 용량을 초과하지 않았다면 그것도 해당 없고요.
몇 가지 시도해 볼 수 있는 방법이라면
- 혹시 XpressEditor를 쓰신다면 CKEditor로 바꿔보시고, 반대로 CKEditor를 쓰신다면 XpressEditor로 바꿔 보세요. 두 에디터에서 사용하는 업로더가 다르기 때문에 만약 이것으로 해결된다면 업로더 문제라고 볼 수 있습니다.
- 10개쯤 업로드한 후 약 30초간 쉬었다가 나머지를 업로드해 보세요. 작은 파일은 순식간에 업로드되기 때문에 1~2초 안에 18개 모두 업로드하면 과도한 요청이라고 차단될 수도 있습니다.
- 혹시 업로드 갯수를 제한하는 애드온이나 확장모듈이 있지는 않은지 확인해 보세요.