워드프레스 에러코드 - 잡아주세요
말씀하신 워드프레스 에러 메시지와 상황을 보면, FTP 연결 자체가 실패해서 $this->link가 null인 상태인데, 이 null 값을 가지고 ftp_fput(), ftp_pwd(), ftp_nlist() 같은 함수들을 호출하면서 에러가 발생하고 있습니다.
* 근본원인
$this->link가 null인 이유는 워드프레스가 FTP 서버에 접속을 시도했는데 접속에 실패했기 때문입니다.
* 해결방법
1. wp-config.php에 FTP 정보 명시
define('FTP_HOST', 'ftp.yoursite.com');
define('FTP_USER', 'your_ftp_username');
define('FTP_PASS', 'your_ftp_password');
-- 실제 FTP 계정 정보로 변경해서 넣어야 합니다. FTP 주소가 localhost 또는 127.0.0.1이면 외부 연결 안될 수 있어요.
2. SSH 또는 직접 파일 시스템 접근 가능하면 FTP 기능 안 쓰도록 설정
만약 SSH나 직접 파일 접근이 가능하다면 워드프레스가 굳이 FTP를 사용하지 않도록 다음 코드 추가
define('FS_METHOD', 'direct');
-- 이걸 wp-config.php에 추가하면 워드프레스가 FTP가 아닌 로컬 파일 시스템을 직접 사용합니다.
* uploads 폴더 권한 777 문제
wp-content/uploads가 777이라면?
보안상 권장되지 않습니다.
777은 누구나 읽고 쓰고 실행할 수 있는 권한이기 때문에 해킹 위험이 매우 높습니다.
추천 권한 설정
-- 디렉토리 : 755
-- 파일 : 644
단, 웹 서버가 쓰기 권한이 없어서 워드프레스에서 이미지 업로드가 안 된다면 775까지는 허용 가능.
777은 정말 최후의 수단이어야 하고, 해결 후엔 꼭 다시 낮춰야 합니다.