콘텐츠로 건너뛰기

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

카테고리: WordPress

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

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

실효 제한 = 모든 계층의 최솟값 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 관리자 화면의 "미디어" → "새 미디어 파일 추가" 페이지에 현재 업로드 제한이 표시됩니다. "도구" → "사이트 상태" → "정보" → "서버" 섹션에서도 upload_max_filesizepost_max_size 값을 확인할 수 있습니다.

방법 1: wp-config.php에서 설정

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

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

방법 2: .htaccess로 설정

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

# .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 서버의 경우 .htaccess를 사용할 수 없으므로 서버 설정 파일에서 처리해야 합니다.

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

방법 3: php.ini로 설정

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

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

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

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

방법 4: functions.php로 설정

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

// 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, 엑스서버 등)에서 PHP 설정을 변경할 수 있습니다.

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

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

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

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

설정 변경 후 테스트

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

요약

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

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

❓ 자주 묻는 질문

WordPress의 업로드 상한을 확인하는 방법은?
WordPress 관리 화면의 '미디어' → '새 미디어 파일 추가' 페이지에 현재 업로드 상한이 표시됩니다. 또한 '도구' → '사이트 건강' → '정보' → '서버' 섹션에서 upload_max_filesize와 post_max_size 값을 확인할 수 있습니다.
WordPress 업로드 상한을 올리는 가장 확실한 방법은?
가장 확실한 것은 호스팅 패널(cPanel, Plesk, Xserver 등)에서 PHP 설정을 변경하는 방법입니다. 서버 수준에서 적용되므로 다른 방법으로 덮어써질 걱정이 없습니다. 그것을 쓸 수 없다면 .htaccess나 php.ini에서의 설정이 다음으로 확실합니다.
upload_max_filesize와 post_max_size의 차이는?
upload_max_filesize는 파일 하나의 업로드 상한입니다. post_max_size는 폼 데이터 전체(파일 본체에 더해 폼 필드와 오버헤드 포함)의 상한입니다. post_max_size는 upload_max_filesize 이상의 값으로 설정해야 합니다.