콘텐츠로 건너뛰기

WordPress 업로드 제한을 높이는 5가지 방법

카테고리: WordPress
이 기사는 현재 일본어로만 제공됩니다. 번역본은 순차적으로 공개될 예정입니다.

WordPress에서 미디어 파일을 업로드하려고 할 때 「상한을 초과합니다」라는 오류를 만난 적이 있습니까? WordPress의 기본 업로드 제한은 서버 환경에 따라 다르지만, 대부분의 경우 2MB~64MB로 설정되어 있습니다. 이 기사에서는 업로드 제한을 높이는 5가지 방법을 코드 예제와 함께 설명합니다.

<strong>주의:</strong> 설정 변경 전에 반드시 백업을 받으세요. 또한 공유 호스팅에서는 일부 방법을 사용할 수 없을 수 있습니다.

실효 제한 = 모든 계층의 최솟값 nginx client_max_body_size e.g. 64m php.ini post_max_size e.g. 64M php.ini upload_max_filesize e.g. 32M WP_MEMORY_LIMIT (wp-config) e.g. 256M → 실효 제한: 32 MB (가장 작음)
그림: WordPress 업로드 제한을 결정하는 설정 계층

현재 제한 확인

먼저 현재 설정을 확인해봅시다. WordPress 관리자 화면의 "미디어" → "새 미디어 파일 추가" 페이지에 현재 업로드 제한이 표시됩니다. "도구" → "사이트 상태" → "정보" → "서버" 섹션에서도 <code>upload_max_filesize</code> 및 <code>post_max_size</code> 값을 확인할 수 있습니다.

방법 1: <code>wp-config.php</code>에서 설정

가장 간단한 방법입니다. WordPress 루트 디렉터리에 있는 <code>wp-config.php</code>에 다음 줄을 추가합니다.

// wp-config.php に追加(「編集が必要なのはここまでです」の行の上に記述)
@ini_set('upload_max_filesize', '64M');
@ini_set('post_max_size', '64M');
@ini_set('max_execution_time', '300');
@ini_set('max_input_time', '300');

이 방법은 PHP의 <code>ini_set()</code>을 사용하므로 서버 설정에 따라 반영되지 않을 수 있습니다. 특히 <code>php.ini</code>에서 이 값들이 고정된 환경에서는 효과가 없습니다.

방법 2: .htaccess로 설정

Apache 서버를 사용하는 경우 <code>.htaccess</code> 파일에서 PHP 설정을 재정의할 수 있습니다. WordPress 루트 디렉토리의 <code>.htaccess</code> 파일에 다음을 추가합니다.

# .htaccess に追加
php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300
php_value max_input_time 300
php_value memory_limit 256M

Nginx 서버의 경우 <code>.htaccess</code>를 사용할 수 없으므로 서버 설정 파일에서 처리해야 합니다.

# Nginx の設定(/etc/nginx/conf.d/ 配下)
client_max_body_size 64m;

방법 3: php.ini로 설정

서버의 PHP 설정 파일을 직접 편집할 수 있다면 가장 확실한 방법입니다. <code>php.ini</code> (또는 <code>.user.ini</code>)에 다음을 기입합니다.

; php.ini に追記
upload_max_filesize = 64M
post_max_size = 64M
max_execution_time = 300
max_input_time = 300
memory_limit = 256M

공유 호스팅에서는 <code>php.ini</code>를 직접 편집할 수 없을 수 있습니다. 이 경우 WordPress 루트 디렉토리에 <code>.user.ini</code>를 만들고 동일한 내용을 작성하면 반영될 수 있습니다.

<strong>주의:</strong> <code>post_max_size</code>를 <code>upload_max_filesize</code>보다 큰 값으로 설정하세요. <code>post_max_size</code>는 전체 폼 데이터의 상한이며, 파일 본체 외에 폼 필드와 오버헤드도 포함됩니다.

방법 4: functions.php로 설정

테마의 <code>functions.php</code>에 필터를 추가하는 방법입니다. 테마를 업데이트하면 설정이 삭제되므로, 자식 테마 또는 커스텀 플러그인으로 구현하는 것을 권장합니다.

// functions.php または カスタムプラグインに追加
@ini_set('upload_max_filesize', '64M');
@ini_set('post_max_size', '64M');

// WordPress のアップロードサイズフィルター
add_filter('upload_size_limit', function($size) {
    return 64 * 1024 * 1024; // 64 MiB
});

// マルチサイトの場合
add_filter('upload_size_limit', function($size) {
    return 64 * 1024 * 1024;
}, 20);

방법 5: 호스팅 패널로 설정

많은 레탈 서버 및 호스팅 서비스에서는 관리 패널(cPanel, Plesk, ConoHa, 엑스서버 등)에서 <code>PHP</code> 설정을 변경할 수 있습니다.

  1. 호스팅 관리 패널에 로그인
  2. PHP 설정 또는 php.ini 설정 메뉴를 찾으세요.
  3. <code>upload_max_filesize</code>와 <code>post_max_size</code> 값 변경
  4. 설정을 저장하고 필요시 PHP를 재시작

이 방법이 가장 확실하며, 서버 레벨에서 설정이 적용되므로 다른 방법으로 덮어써질 걱정이 없습니다.

설정이 반영되지 않을 때의 확인 포인트

  • 웹 서버(Apache/Nginx)를 다시 시작했나요?
  • PHP-FPM을 사용하고 있다면 PHP-FPM도 재시작했나요?
  • CDN이나 리버스 프록시가 요청 크기를 제한하고 있지 않은지 확인
  • WordPress 멀티사이트에서는 네트워크 관리 화면의 설정이 우선될 수 있습니다
  • <code>post_max_size</code>가 <code>upload_max_filesize</code> 이상인지 확인

설정 변경 후 테스트

업로드 제한을 변경한 후에는 반드시 실제 파일로 테스트하세요. DevLab에서는 다양한 크기의 테스트 파일을 제공합니다.

  • <a href="/ja/reference/wordpress-upload-limit/">WordPress 업로드 제한 참고자료</a> — 각 호스팅 환경의 기본 제한 목록
  • <a href="/ja/files/threshold/">경계값 테스트 파일</a> — 상한 정확히 맞춘 크기로 테스트
  • <a href="/ja/files/images/">이미지 테스트 파일</a> — 실제 미디어 업로드로 검증

요약

WordPress 업로드 제한을 높이는 방법은 여러 가지가 있지만, 사용 가능한 방법은 서버 환경에 따라 다릅니다. 먼저 호스팅 패널에서 설정을 시도하고, 사용할 수 없는 경우 <code>.htaccess</code> 또는 <code>php.ini</code>로 대응하세요. 설정 변경 후 DevLab의 테스트 파일을 사용하여 실제로 업로드가 성공하는지 확인하십시오.

이 기사에서 사용할 수 있는 테스트 파일

  • → <a href="/ja/files/threshold/" class="text-primary-600 dark:text-primary-400 hover:underline">임계값 테스트 파일 목록 (9.9MB / 10MB / 10.1MB)</a>
  • → <a href="/ja/files/images/jpg/" class="text-primary-600 dark:text-primary-400 hover:underline">JPEG 이미지 테스트 파일 목록</a>

관련 기사

  • → <a href="/ja/blog/how-to-test-upload-limit/" class="text-primary-600 dark:text-primary-400 hover:underline">파일 업로드 제한을 올바르게 테스트하는 방법</a>
  • → <a href="/ja/blog/mb-vs-mib-file-size/" class="text-primary-600 dark:text-primary-400 hover:underline">MB와 MiB는 다르다! 파일 크기 단위의 함정</a>