파일 업로드 용량 & 실행 시간 늘리는 방법 – php.ini & .htaccess 실전 가이드
파일 업로드 용량 & 실행 시간 늘리는 방법!
이미지, PDF, 백업 파일 등 큰 용량의 파일을 업로드할 때
“업로드 용량을 초과했습니다”, “최대 실행 시간을 초과했습니다” 같은 오류를 본 적 있으신가요?
이 문제는 서버의 PHP 설정에서 제한된 용량과 시간 때문입니다.
지금부터 php.ini
, .htaccess
, user.ini
파일을 활용해
업로드 크기와 실행 시간을 늘리는 방법을 안내해드릴게요.
이런 오류가 뜬다면 이 글이 꼭 필요합니다
① The uploaded file exceeds the upload_max_filesize directive in php.ini.
→ 업로드하려는 파일이 php.ini에서 설정한 최대 용량을 초과한 경우
② Maximum execution time of 30 seconds exceeded
→ 스크립트 실행 시간이 30초를 초과해 자동 종료된 경우
③ POST content-length of X bytes exceeds the limit of Y bytes in Unknown
→ 전체 업로드 데이터가 post_max_size를 초과한 경우
꼭 알아야 할 PHP 파일 업로드/실행 설정 항목
1. upload_max_filesize
→ 한 번에 업로드할 수 있는 단일 파일의 최대 크기입니다.
기본값은 2MB 또는 8MB로 설정되어 있는 경우가 많습니다.
2. post_max_size
→ POST 방식으로 전송되는 전체 데이터의 크기 제한입니다.upload_max_filesize
보다 크거나 같게 설정해야 합니다.
3. max_execution_time
→ PHP 스크립트가 **실행될 수 있는 최대 시간(초)**입니다.
시간이 짧으면 대용량 파일 처리 중 오류가 발생할 수 있습니다.
4. max_input_time
→ PHP가 외부 입력(POST/GET 등)을 받는 데 걸리는 시간 제한입니다.
이 값도 max_execution_time
과 유사하게 설정해주는 것이 좋습니다.
5. memory_limit
→ PHP 스크립트 전체가 사용할 수 있는 최대 메모리 한도입니다.
메모리 제한으로 인해 중간에 프로세스가 종료되는 경우도 많습니다.
설정 파일별 해결 방법
1️⃣ php.ini 설정으로 업로드 제한 해제
[ upload_max_filesize = 128M → post_max_size = 128M → max_execution_time = 300 → max_input_time = 300 → memory_limit = 256M ]
→ 서버의 루트 또는 PHP 설치 경로에 있는 php.ini
파일을 수정합니다.
변경 후에는 Apache/Nginx 서버를 재시작해야 적용됩니다.
2️⃣ .htaccess 파일로 설정 변경 (Apache 전용)
[ php_value upload_max_filesize 128M → php_value post_max_size 128M → php_value max_execution_time 300 → php_value max_input_time 300 ]
→ 공유호스팅이나 웹 루트에 접근 가능할 때 .htaccess
파일을 사용합니다.
서버가 Apache일 경우에만 작동하며, .htaccess
권한이 제한된 경우는 적용되지 않습니다.
3️⃣ .user.ini 파일로 설정 (공유호스팅 대응)
[ upload_max_filesize = 128M → post_max_size = 128M → max_execution_time = 300 → max_input_time = 300 ]
→ public_html
루트나 사이트 폴더에 .user.ini
파일을 만들어 설정합니다..htaccess
사용이 제한된 서버 환경에서 권장되며, 적용까지 3~5분의 딜레이가 있을 수 있습니다.
4️⃣ 워드프레스 환경에서의 주의사항
[ wp-config.php에서는 upload_max_filesize 설정이 불가능합니다 ]
→ 워드프레스는 서버 설정에 의존하므로 위 방식 중 하나로 설정을 변경해야 합니다.
변경 후에는 WP 관리자 > 미디어 업로드 제한이 적용되었는지 확인하세요.
💬 자주 묻는 질문 (FAQ)
Q1. php.ini는 어디에 있나요?
→ 로컬 서버는 보통/etc/php/버전/php.ini
,
웹호스팅은phpinfo()
로 위치 확인 가능.Q2. .htaccess를 수정해도 적용되지 않아요.
→ 서버가 Apache가 아닐 수 있으며,.htaccess
사용 권한이 막혀 있을 수 있습니다.
그럴 땐.user.ini
방식으로 시도하세요.Q3. 워드프레스에서 업로드 용량이 안 바뀌어요.
→ 설정이 정상 적용됐는지phpinfo()
또는 플러그인으로 확인하세요.
브라우저 캐시나 관리자 설정 반영 지연도 원인일 수 있습니다.Q4. 모든 값이 높아졌는데도 실행 시간이 짧아요.
→memory_limit
,max_execution_time
외에도 웹서버 타임아웃 설정이 제한일 수 있습니다.Q5. 변경 후 바로 적용되나요?
→ php.ini는 Apache 재시작 필요,.htaccess
/.user.ini
는 대부분 즉시 적용되지만
일부 환경은 3~5분 지연될 수 있습니다.
🔚 한 줄 요약
PHP 업로드 제한 오류는 설정값 조정으로 대부분 해결됩니다.
php.ini, .htaccess, user.ini 중 환경에 맞는 방식으로 업로드 용량과 실행 시간을 늘려보세요