KBFileHandler - upload() :: 디렉토리 경로가 없거나 하위 디렉토리에 쓰기 권한이 없습니다.

안녕하세요 담당자님, 오랜만에 연락드립니다. 

최근 들어 플러그인을 이용하는데에 어려움이 발생하여 이렇게 연락 드리게 되었습니다. ㅠㅠ 

define('KBOARD_WORDPRESS_ROOT', substr(ABSPATH, 0, -1));

를 아래의 코드로 변경하는 방법

define('KBOARD_WORDPRESS_ROOT', $_SERVER['DOCUMENT_ROOT']);

이 더이상 정상적으로 작동하지 않아 사진을 업로드 하면 똑같은 에러가 발생하고 있습니다.

 

최근 워드프레스 서비스형도 비즈니스 플랜 이상 구독이 되어있으면 FTP 접속이 (sFTP) 가능해져 firezilla를 이용해 모든 쓰기 권한을 주었음에도 불구하고 똑같은 에러가 발생하고 있습니다.

 

워드프레스 엔지니어들과도 오랜시간 이야기 해보고, troubleshooting mode를 사용해 다른 플러그인들과 충돌이 되는지의 여부도 체크해봤지만, Kboard 플러그인만 활성화 되어있어도 똑같은 에러가 뜨더군요. ㅠㅠ 

FTP 로그인 정보를 공유해드리면 혹시 이 사안 관련해서 한번 들여다 봐주실 수 있을까요?

 

부탁드립니다.

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
워드프레스 에러 기술지원 서비스 전문가에게 맡기세요
  • 안녕하세요~^^

    저희 고객지원 쪽 이메일로 워드프레스 관리자 계정을 보내주시면 점검해드리겠습니다.

    KBoard 플러그인은 현재 설치형 워드프레스를 공식적으로 지원하고 있기 때문에

    100% 해결을 보장해드리긴 어렵습니다.

    고맙습니다.

  • 저희 고객지원 쪽 이메일로 보내주신 정보로 확인해보니

    서비스형 워드프레스는 워드프레스 디렉토리의 절대경로가 조금 다른 듯합니다.

    현재는 저희 쪽에서 코드를 수정해두었습니다.

    KBoard 파일 업로드 관련해서 테스트해보시겠어요?

     

    FTP로 접속해서 /wp-content/plugins/kboard/class/KBFileHandler.class.php 파일에

    아래의 코드를 임시로 주석 처리하고

    $this->abspath = untrailingslashit(ABSPATH);

    아래의 코드를 추가해두었습니다.

    $this->abspath = '';

    고맙습니다.

  • 담당자님, 답신 감사합니다. 

    이 부분이 혹시라도 도움이 될지는 모르겠지만, 다른 비슷한 문제가 발생하고 있는 분들이 있으실 듯 하여서 몇자 남겨놓습니다! 

    제가 코드에 코자도 모르지만 어찌저찌 인터넷에서 찾은 지식으로 다른 분들이 참고하시면 좋을 듯 합니다.

     

    워드프레스 비즈니스 이상 사용하는 분들은 sFTP 접속이 가능하고, 접속 방법을 모르는 분들은 Wordpress Engineer에게 그 방법을 채팅으로 물어보시기 바랍니다. 

    Kboard를 매번 업데이트 하면 임시로 수정된 위 코딩이 사라지기 때문에 (혹은 새로운 코딩으로 덮여쓰여지기 때문에) 업데이트 할때마다 코드를 수정해주어야 합니다. (이 부분을 혹시라도 담당자님이 설치형을 위해 수정된 Kboard 플러그인을 별도로 만들어주시면 더 좋겠지만요! 무료로 사용하는 저는 매번 수정하면서 사용해도 불만 없습니다.)

    따라서 sFTP를 접속하신 뒤 (저는 Filezilla를 사용합니다) 위에 언급되 폴더 경로 /wp-content/plugins/kboard/class/KBFileHandler.class.php의 파일을 view/edit 누르셔서 메모장을 키신 뒤 

    $this->abspath = untrailingslashit(ABSPATH);

    이 문구가 있는곳으로 가시기 바랍니다. 

    주석 처리라는게 제가 이해하기론 메모장 안에는 남겨있지만 서버가 읽지 못하게 코멘트 처리하는것으로 이해했습니다.

    주석 처리를 하기 위해선 아래의 코드로 변경하셔야하는 것 같구요. (시작과 끝에 /* 와 */ 를 추가)

    /*$this->abspath = untrailingslashit(ABSPATH);*/

    그 다음 엔터를 누르셔서 새로운 곳에 Tab 두번 누르시고 (안해도 되는거같긴합니다, 그냥 보기 좋게..) 아래 코드를 추가하시면 된다는 이야기 같습니다.

    $this->abspath = '';

    참고로 위에 코딩은 그대로 복사 붙여넣기 하시는게 좋습니다. '' 이걸 Quotation 의 " 로 잘못넣으시거나 할 경우 웹사이트가 다운될 수도 있습니다. 

    제가 맞게 이해한건진 모르겠지만 저는 매번 이렇게 수정해서 잘 사용하고 있습니다.

    항상 감사합니다!

워드프레스 에러 기술지원 서비스 전문가에게 맡기세요