WordPress에서 이미지 업로드 오류를 수정하는 방법
게시 됨: 2018-02-28최근에 우리는 WordPress 오류 수정을 위한 전체 가이드를 게시했으며 독자 중 한 명이 우리에게 이메일을 보내고 WordPress에서 이미지 업로드 오류를 수정하는 방법을 찾았습니다. 내 블로그에서 이 오류를 기억할 수 없을 정도로 오랜 시간이 걸리지 않았습니다. 이 오류로 인해 밤새 고생하고 문제를 파악하고 수정했습니다.
글쎄, 그 당시에 내 블로그가 막 시작되었으므로 그 솔루션을 게시하지 않았지만 다른 사람들이 이 이상한 문제를 해결하는 데 도움을 주기에는 너무 늦지 않았습니다.
기본적으로 이 문제로 워드프레스에 어떤 이미지도 업로드할 수 없으며, 업로드가 완료되면 미디어 라이브러리에 있는 이미지가 깨진 것으로 표시됩니다. 이 기사에서는 WordPress에서 이미지 업로드 문제를 해결하는 방법을 보여줍니다.
이것이 WordPress 이미지 업로드 오류에 직면할 수 있는 이유입니다.
- 이미지 크기
- PHP 메모리
- 모드시큐리티
- 플러그인 충돌
- 파일 권한
- 서버의 PHP 버전
이미지 크기
이것은 픽셀 크기가 큰 이미지(예: 4000 x 3000 픽셀의 이미지)를 업로드하려고 할 때 발생합니다. 서버가 처리하기에는 너무 큽니다.
일부 서버는 이미지가 해당 크기보다 작은 경우에도 오류를 표시하며 모두 서버 리소스에 따라 다릅니다.
해결책
이미지의 크기를 줄입니다. 예를 들어 매우 큰 픽셀 이미지를 추가하지 마십시오. 게시물 콘텐츠 영역의 너비가 800px인 경우 그보다 큰 이미지를 추가하지 마세요.
오류 없이 업로드할 수 있을 때까지 시행착오를 통해 이미지 크기를 줄이십시오. 프리미엄 WordPress 테마를 사용하는 경우 문서에서 필요한 이미지 크기를 확인하려면 1075px이면 대부분의 WordPress 사이트에 충분합니다.
확장할 공간이 충분하지 않고 해당 공간까지 축소되기 때문에 문제는 해당 크기의 이미지를 업로드하는 동안 WordPress가 엄청난 양의 메모리를 소비한다는 것입니다. 일부 서버는 워드프레스가 소비할 수 있는 메모리 양을 제한하기 때문에 이 경우 업로드 시 오류가 발생합니다.
PHP 메모리
WordPress 기능 및 리소스는 모두 PHP에서 실행되고 PHP를 실행하는 서버가 이 리소스를 제한할 수 있는 후에 제한될 수 있습니다.
혼자서 PHP 메모리를 늘리거나 웹 호스팅 지원 팀에 요청할 수 있습니다. 메모리는 2가지 방법으로 늘릴 수 있습니다.
해결책
- 워드프레스 메모리 늘리기
- PHP 메모리 늘리기
WordPress 루트 디렉토리에 있는 wp-config.php에 이 코드를 추가하여 WordPress 메모리를 늘릴 수 있습니다.
정의('WP_MEMORY_LIMIT', '256M');
호스트/서버가 PHP 메모리 제한을 늘리거나 어느 정도 제한하는 것을 허용하지 않는 경우 위의 설정이 작동하지 않을 수 있으므로 지원팀에 직접 문의하여 제한을 변경하도록 요청하는 것이 좋습니다. 번거로움을 건너뛸 수 있습니다. 지원 팀에 PHP 메모리를 늘리도록 요청하는 것이 더 좋지만 번거로운 작업이 마음에 들면 아래 코드를 php.in 또는 php5.ini에 추가하세요.
memory_limit 256M
모드시큐리티
이 보안을 본 적이 없거나 이에 대해 알고 있을 수 있습니다. ModSecurity는 .htaccess라고도 하며 WordPress 루트 디렉토리에서 이 파일을 보았기를 바랍니다. 대부분은 숨겨져 있습니다.
서버에 모드 보안이 활성화되어 있으면 이 파일이 문제의 원인일 수 있습니다.
해결책
업로드에 대한 모드 보안을 비활성화해야 하므로 wp-admin 폴더 내에 .htaccess를 만들고 다음 코드를 추가합니다.
<IfModule mod_security.c>
SecFilter엔진 끄기
SecFilterScanPOST 끄기
</If 모듈>
그러면 wp-admin에서 코드를 수신하는 업로드 파일에 대해 mod_security가 비활성화됩니다.
참고: 서버에 오류가 발생하면 이를 제거하십시오.
플러그인 충돌
대부분의 경우 플러그인이 업로드 프로세스와 충돌하는 것으로 확인되었습니다. 많은 경우에 내 블로그도 플러그인 충돌로 어려움을 겪었습니다.
하나 또는 다른 플러그인 또는 WordPress의 최신 버전으로 업그레이드하여 트리거된 일부 오래된 플러그인 또는 일부 구문 오류 때문입니다.
이미지를 업로드, 축소 또는 압축하는 데 도움이 되는 플러그인은 대부분 오류가 발생한다는 것을 알았습니다. 경우에 따라 일부 데스크톱 애플리케이션에서 해당 앱을 사용하여 이미지를 압축하거나 렌더링하는 경우에도 이 오류가 발생했습니다.
또한 cdn 또는 aws 또는 원격 서버에 업로드하는 데 도움이 되는 플러그인인 jetpack을 사용하면 이미지 업로드 시 WordPress 오류가 발생합니다.
해결책
한 번에 하나의 플러그인 비활성화를 진행하십시오. 캐시 및 브라우저 기록을 지우고 미디어 업로더를 다시 방문하여 이미지를 업로드하고 성공했는지 확인하십시오.
그렇지 않은 경우 WordPress 플러그인 및 데스크톱 앱을 사용하지 않고 원시 .png 또는 .jpg를 업로드하고 작동 여부를 확인하십시오.
파일 권한
이미지를 업로드하는 동안 오류를 일으키는 플러그인이나 제한된 메모리가 아닌 경우 서버의 파일 권한을 살펴보는 것이 좋습니다.
파일 권한은 변경하지 않아도 자동으로 변경될 수 있습니다.
알고 싶어요. 어떻게 바뀌었나요?
호스팅 회사가 서버에서 업그레이드를 실행하거나 플러그인이 업데이트된 경우 파일 권한을 변경할 수 있습니다.
공유 웹 호스팅을 사용하는 경우 해커가 파일에 액세스하고 파일 권한이 해커가 업로드했을 수 있는 페이로드에 의해 변경되었을 가능성이 있습니다.
FTP 프로그램을 통해 파일 권한을 쉽게 변경할 수 있습니다. 저는 Mac과 Windows PC에서 ftp용 Cyberduck을 사용합니다.
FTP를 통해 파일에 액세스한 다음 /wp-content/ 디렉토리로 이동합니다. 거기에 /uploads/ 폴더가 표시됩니다. 업로드 디렉토리를 마우스 오른쪽 버튼으로 클릭하고 파일 권한을 선택하십시오.
처음에는 업로드 디렉토리 자체와 그 안의 모든 하위 디렉토리에 대한 파일 권한을 744 로 설정해야 합니다. 그렇게 하려면 숫자 값 상자에 744를 입력한 다음 Recurse into subdirectories 옆에 있는 상자를 선택합니다.
마지막으로 '디렉토리에만 적용' 라디오 버튼을 클릭해야 합니다. 확인 버튼을 클릭하여 이러한 변경 사항을 적용하십시오.
업로드 폴더에 대해 동일한 프로세스를 반복해야 합니다.
업로드 디렉토리의 모든 파일에 대해 파일 권한을 설정해야 합니다. 그렇게 하려면 업로드 디렉토리를 마우스 오른쪽 버튼으로 클릭하고 파일 권한을 선택하십시오.
파일 권한에서 대화 상자는 숫자 값을 644 로 변경합니다. Recurse into subdirectories 옆의 확인란을 선택합니다. 파일에만 적용 라디오 버튼을 클릭합니다. 확인 버튼을 클릭하여 이러한 변경 사항을 적용하십시오.
FTP 프로그램이 이 변경 사항을 적용하고 이미지 업로더가 다시 작동합니다.
서버의 PHP 버전
대부분의 경우 아무도 이에 대해 생각하지 않는 것처럼 이 오류를 해결하는 동안 수행하는 전체 작업에서 눈에 띄지 않습니다.
대부분의 경우 사용자가 업데이트 버튼을 누르기 전에 어제까지 작동 중이라고 말해야 하는 이유는 무엇입니까?
그러나 플러그인, 테마 또는 WordPress를 업데이트하면 이 오류 및 기타 여러 오류가 발생할 수 있습니다. WordPress는 PHP를 기반으로 하고 따라야 할 몇 가지 표준이 있으므로 개발자는 항상 WordPress에 안정적인 버전을 기록하기 때문입니다.
서버 PHP 버전이 WordPress에서 요구하는 것과 같지 않으면 서버 지원 담당자에게 연락하여 PHP 버전을 WordPress 요구 사항으로 변경하도록 요청하십시오.
결론
(업데이트) . 이 수정 사항은 몇 명의 독자가 지적했습니다. 우리는 그들에게 감사합니다!
이미지 파일 이름에 아포스트로피가 없는지 확인하십시오(예: john's-blogging.png). 그러면 오류도 발생하기 때문입니다.
(업데이트) . 이미지 최적화 플러그인을 사용하는 경우 플러그인을 비활성화하고 문제가 해결되는지 확인하십시오.
여전히 문제가 발생하면 알려주십시오. 기꺼이 도와 드리겠습니다 . 이 오류를 수정하는 데 어떤 방법이 효과가 있었는지 아래에 댓글로 남겨주세요.