php상에서 파일을 업로드하게되면 제한된 용량때문에 큰 용량의 파일 업로드에 문제가 생기게 됩니다. 업로드 기본용량은 2M입니다. 그래서 설정파일(php.ini)에서 업로드 용량설정을 따로 늘려줄 필요가 있습니다.
* upload_max_filesize = 2M
php 파일 업로드 최대용량입니다. 기본 2M… 이걸 늘려주면 됩니다.
* post_max_size = 8M
post 전송 최대용량입니다. 파일 업로드를 하게 되면 대부분 post 방식으로 서버에 전송됩니다.
이 용량이 부족하면 전송에 실패하기때문에 파일 업로드 용량과 더불어 변경이 필요합니다.
“ 파일업로드 용량 + 나머지 데이터 용량(10M 정도) ” 으로 설정하면 됩니다.
* max_execution_time = 30
php 실행시간입니다. (단위 : 초) 이 시간을 초과하면 php 실행이 중단됩니다. 무한 루프에 빠지는 것을 막기위한 설정입니다.
대용량(1G이상)을 처리하기위해서는 긴 시간이 필요하므로 늘려주는 것이 좋습니다. (“0″은 무제한)
* max_input_time = 60
get, post , 파일업로드 등의 입력 데이터를 받아드리는 최대시간입니다.
그러니까 파일 업로드의 실제 시간이 되겠죠.. 이것을 초과하면 파일업로드는 당연히 실패됩니다.
대용량(1G이상)을 첨부하기위해서는 -1(무제한)값으로 설정하는 것이 좋습니다.
* memory_limit = 128M
php의 메모리 사용량입니다. 파일 업로드시 업로드된 파일은 먼저 메모리에 적재되므로 메모리 사용량이 넉넉해야됩니다.
※ memory_limit > post_max_size > upload_max_filesize : 구축형일 경우(기본)
※ post_max_size > upload_max_filesize >= memory_limit : 호스팅일 경우
@ 결과적으로 memory_limit 값이 최대 업로드 가능 용량이 됩니다.
php.ini 설정완료에는 항상 php 서비스를 재시작 시켜줘야합니다.
워드프레스 경우 wp-config.php 화일 예시 (생략가능)
@ini_set( ‘max_execution_time’, ‘6000’ );
@ini_set( ‘upload_max_filesize’ , ‘1024M’ );
@ini_set( ‘post_max_size’, ‘2047M’);
@ini_set( ‘memory_limit’, ‘1024M’);
아파치의 경우 추가 설정
LimitRequestBody = 5120 00 000 (500메가) 524288(초기값)