서버 아이콘, 업로드 화살표, 시계와 톱니바퀴가 결합된 일러스트로 PHP 파일 업로드 용량 증가와 실행 시간 설정을 상징하는 이미지

PHP 파일 업로드 용량 및 실행 시간 늘리기 – php.ini & .htaccess 실용 가이드

이미지, PDF, 백업 파일처럼 큰 용량을 올리려다 보면 “업로드 용량을 초과했습니다” 또는 “최대 실행 시간을 초과했습니다”라는 오류 메시지를 자주 마주합니다. 이는 대부분 PHP 설정값 제한 때문입니다.

이 글에서는 php.ini, .htaccess, user.ini 파일을 활용해 PHP 파일 업로드 용량실행 시간 초과 오류를 해결하는 방법을 알려드립니다. 또한, WordPress 환경에서 적용할 수 있는 실전 팁까지 함께 정리했으니, 서버나 블로그 운영자라면 꼭 참고해 보시기 바랍니다.

PHP 파일 업로드 용량과 실행 시간 설정 변경 방법

php.ini, .htaccess, user.ini 파일을 활용해 PHP의 파일 업로드 용량과 실행 시간을 늘리는 방법을 설명합니다. 업로드 용량 초과와 실행 시간 초과 문제를 해결하는 설정 방법과 함께, WordPress 환경에서 적용할 수 있는 팁도 제공합니다.

PHP 파일 업로드 및 실행 오류, 이런 경우에 발생합니다

꼭 알아야 할 PHP 설정 항목

upload_max_filesize → 단일 파일 업로드 최대 용량을 설정합니다.
post_max_size → 전체 POST 데이터 업로드 제한으로, upload_max_filesize보다 크거나 같아야 합니다.
max_execution_time → PHP 스크립트가 실행될 수 있는 최대 시간(초)입니다.
max_input_time → 외부 입력(Post/Get 등)을 받을 수 있는 최대 시간입니다. 보통 max_execution_time과 비슷하게 설정합니다.
memory_limit → PHP 스크립트 전체에서 사용할 수 있는 메모리의 최대 한도입니다.

👉 이 다섯 가지 값이 서로 맞물려야 업로드 성공 여부가 결정됩니다.

PHP.ini 업로드 용량 및 실행 시간 설정 항목

설정 파일별 해결 방법

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 서버를 재시작해야 적용됩니다.

.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 권한이 제한된 경우는 적용되지 않습니다.

.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분의 딜레이가 있을 수 있습니다.

워드프레스 환경에서의 주의 사항
[ wp-config.php에서는 upload_max_filesize 설정이 불가능합니다 ]

→ 워드프레스는 서버 설정에 의존하므로 위 방식 중 하나로 설정을 변경해야 합니다.
변경 후에는 WP 관리자 > 미디어 업로드 제한이 적용되었는지 확인하세요.

자주 발생하는 에러 메시지 사례

PHP 파일 업로드 제한이나 실행 시간 문제는 대부분 비슷한 형태의 에러 메시지로 나타납니다. 실제 사용자들이 검색하는 키워드이기도 하므로, 오류 메시지를 정확히 알고 있으면 문제 해결에 더 빠르게 접근할 수 있습니다.

① The uploaded file exceeds the upload_max_filesize directive in php.ini
→ 업로드하려는 파일이 upload_max_filesize 값보다 클 때 발생합니다.

② Maximum execution time of 30 seconds exceeded
→ PHP 스크립트 실행 시간이 30초 제한을 초과했을 때 나타나는 오류입니다.

③ POST Content-Length of X bytes exceeds the limit of Y bytes in Unknown
→ 업로드 전체 데이터 크기가 post_max_size 값을 초과할 경우 발생합니다.

이 에러 메시지를 보면 대부분 php.ini, .htaccess, .user.ini 설정으로 해결할 수 있음을 알 수 있습니다.

phpinfo()로 현재 설정 확인하기

“내 서버의 업로드 제한이 얼마인지 모르겠어요”라는 질문을 자주 듣습니다. 이럴 때는 phpinfo() 함수를 사용하면 간단히 확인할 수 있습니다.

  1. 메모장이나 에디터에서 새 파일을 생성하고 아래 코드를 입력합니다.

    <?php
    phpinfo();
    ?>
  2. 파일 이름을 info.php로 저장한 뒤 서버 루트(예: public_html)에 업로드합니다.

  3. 브라우저에서 http://내도메인주소/info.php로 접속하면, 현재 서버의 upload_max_filesize, post_max_size, max_execution_time, memory_limit 값을 한눈에 확인할 수 있습니다.

👉 확인이 끝난 뒤에는 보안을 위해 반드시 info.php 파일을 삭제하는 것을 잊지 마세요.

🔚 마무리

PHP 업로드 오류는 대부분 설정값 조정으로 해결됩니다.
→ 환경에 맞게 php.ini, .htaccess, user.ini를 수정해 업로드 용량과 실행 시간을 늘려보세요.

💬 자주 묻는 질문 (FAQ)

Q. php.ini 파일은 어디에 있나요?
→ 로컬 서버는 보통 /etc/php/버전/php.ini 경로에 있습니다. 웹 호스팅 환경에서는 **phpinfo()**로 확인할 수 있습니다.

Q. .htaccess 수정이 적용되지 않아요.
→ 서버가 Apache가 아닐 수도 있고, .htaccess 권한이 제한되어 있을 수 있습니다. 이 경우 .user.ini 방식을 권장합니다.

Q. 워드프레스에서 업로드 제한이 안 바뀌어요.
→ phpinfo() 또는 전용 플러그인으로 확인해 보세요. 캐시나 관리자 설정 지연이 원인일 수 있습니다.

Q. 값을 높였는데도 실행 시간이 짧아요.
→ 서버 자체의 timeout 값이 별도로 설정되어 있을 수 있습니다. 웹 서버 설정을 함께 확인해야 합니다.

Q. 변경 후 바로 적용되나요?
→ php.ini는 서버 재시작이 필요합니다. 반면 .htaccess나 .user.ini는 대부분 즉시 반영되지만, 일부 환경에서는 3~5분 지연될 수 있습니다.

Similar Posts

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다