이미지 삽입후 업로드시 이미지 제거됨 (첨부파일 및 썸네일 동일)

현재 Kboard 적용 게시판에 알수없는 오류가 나타납니다. 

 

* 요약

- 썸머에디터 그림삽입 후 저장하면 이미지 없어짐

- Kboard 미디어 추가 기능으로도 동일한 현상

- 썸네일 및 첨부파일도 업로드가 안됨. 

- 별도의 오류메시지 안나타남.

 

 

썸머에디터 적용된 게시물에서 

그림 삽입 -> 그림 선택하면 글쓰기 화면에선의 본문에는 이미지가 잘 표시됩니다. 

저장하게 되면, 이미지 코드만 싹 없어진 채로 업데이트 됩니다. 

알고있는바로는 kboard의 이미지 삽입은 base64 바이너리로 텍스트 업로드 하는것으로 되어있는데,

어떤 문제일까요?

현재 기본 스킨에서 kboard 에서 이미지추가 기능이나 썸머에디터 안에서의 그림삽입

첨부파일1, 2 

그리고 썸네일업로드 까지 모든 업로드가 안되는 상황이네요. 

 

현재 워드프레스 폴더내 wp-content 의 권한은 777 이며

용량은 90G 정도 남아있는 상황입니다. 

kboard 대시보드에서의 설정도 별도로 기본에서 변경된 바 없습니다. 

kboard 6.0 / kboard-comments 5.0 버전입니다. 

 

최근에 올렸던 게시물들도 안나오는 상황인데.. 

시기상으로는 9월부터 올린 이미지가 안나오네요..

좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기
  • 안녕하세요~^^

    KBoard 이미지 업로드 기능은 썸머노트 에디터와 별개로 동작하는

    기능입니다.

     

    썸머노트 에디터에 드래그앤 드롭으로 이미지를 업로드 시

    문의주신 내용처럼 이미지 자체가 전송되는 것이 아니라

    Base64로 인코딩되어 저장됩니다.

     

    wp-content/uploads/kboard_attached 폴더에 

    업로드하신 이미지들이 저장되어 있는지 확인해주세요.

    해당 경로에 업로드 이미지가 잘 저장되어 있다면

    본문에 저장된 이미지 경로가 잘못 되어있을 수 있습니다.

     

    문의주신 내용만으로는 정확한 원인 파악이 어려습니다.

    비회원으로 확인가능한 링크 남겨주시겠어요?

    고맙습니다.

  • DB에 저장되지 않느것으로 봐서는 MySQL 등의 문제일까요?

    현재 해당게시판 말고도  Kboard 의 다른 게시물도

    새글 작성하면서 이미지 삽입시 동일한 증상입니다. 

    크게 서버 설정의 변경이나 작업을 한적은 없고, 

    권한 변경정도만 작업했던 기억이 있는데, 

    명확한 원인이 없어서 답답하네요.

    일단 DB 에서 wp_kboard_boiard_content 의 content 컬럼에서도 base64 인코딩 되는 이미지 태그가 저장되지 않는것으로 확인되었습니다. 

     

    업로드 될때 필터링이 되거나 하는 것일까요? 

    현재 이미지가 표시되는 기존의 게시물을 그대로 코드로 복사한 후 옮겨 저장해도 

    나타나지 않습니다. 

    DB나 업로드 설정등에 문제가 있는것 같은데 어떤곳을 확인해보면 될까요? 

     

    현재 확인된 php log 

    이미지 삽입 후 게시글 저장할 때 나타나는 php warning 입니다. 

    [23-Sep-2021 06:23:20 UTC] PHP Warning:  file_put_contents(): Filename cannot be empty in /app/wp-content/plugins/kboard/htmlpurifier/HTMLPurifier.standalone.php on line 22066
    [23-Sep-2021 06:23:20 UTC] PHP Warning:  exif_imagetype(): Filename cannot be empty in /app/wp-content/plugins/kboard/htmlpurifier/HTMLPurifier.standalone.php on line 22068
    [23-Sep-2021 06:23:20 UTC] PHP Warning:  unlink(): No such file or directory in /app/wp-content/plugins/kboard/htmlpurifier/HTMLPurifier.standalone.php on line 22069
     

  • php log 를 확인한 것으로 시작해서 

    현재 서비스사이트가 Docker Container 로 동작하고 있는데 

    Volume으로 연결된 중에 소유자 및 권한 변경으로 인해

    Container 내부에서 권한의 Miss match 문제로 

    tmp 폴더에 이미지를 업로드 할 수 없는 상태로 변경되어 발생했던 문제로 파악되었습니다. 

    php 설정에서 tmp 관련된 폴더를 지정해주고

    권한을 777로 변경하여 테스트 했을때 정상적으로 작동하는것을 확인했습니다. 

    아마도 base64 인코딩 하더라도 업로드된 파일이 변환되는 과정에서 tmp 업로드가 필요한 것으로 보이며

    이에 따라 tmp 폴더에 권한이 없어서 발생했던 문제로 파악되고 있습니다. 

     

    다만, DB에 저장되지 않았던 것도 이러한 부분과 연결되어 생겼던 문제인지는 더 확인이 필요해보입니다. 

  • 우선 해결하셔서 다행입니다.

    원인과 과정을 작성해주셔서 동일한 문제 발생 시

    참고하는데 많은 도움이 될 것 같습니다.

    고맙습니다.^^

이미지 사진은 imgur에 업로드한 뒤 링크 걸어주세요.
좋은 정보와 인맥을 동시에, 워드프레스 사용자 단톡방 참여하기