[PHP] PHP 파일 업로드시 용량 설정 변경[PHP] PHP 파일 업로드시 용량 설정 변경

Posted at 2020. 1. 16. 10:28 | Posted in PHP/PHP Setting




참고 : https://webdir.tistory.com/221

참고 : https://zetawiki.com/wiki/PHP_업로드_설정





■ PHP.ini의 파일 업로드 설정 확인하기



 $ php -ini | grep php.ini

 $ sudo vim /etc/php/7.2./cli/php.ini


※ 기본값은 리눅스 버전 및 PHP 버전등 환경에 따라 조금 다를 수 있다.



#01. max_execution_time ( 기본값 : 30 )


 -. 파일업로드시 작업 처리 최대 제한시간을 설정한다.

 -. 지정한 시간보다 길어지는 경우 오류가 발생한다.

 -. 30은 30초를 의미한다.

 -. 0 또는 -1을 입력하면 무한대로 설정된다.




#02. max_input_time ( 기본값 : 60 )


 -. 스크립트 페이지로 넘어가기 전에 PHP 엔진이 데이털르 업로드 받는 시간을 설정한다.

 -. 만일 여러 메가 바이트의 데이터를 전송해야 하는 경우 max_input_time은 높아야 한다.

 -. 스크립트에서 set_time_limit( ) 함수를 호출해서 max_input_time의 PHP.ini 파일의 설정을 재정의 할 수 있다.

 -. PHP에서 set_time_limit( 0 )으로 설정하면 두가지 시간을 모두 제어할 수 있어

    업로드페이지에 이 코드를 삽입하는 것을 추천한다.




#03. memory_limit ( 기본값 : 128 )


 -. PHP의 메모리 제한 기본값은 128MB 이다.

 -. post_max_size가 만약 100M를 넘어간다면 memory_limit( 기본값 128M )를 최소 40M 가량 더해 적용해야 한다.

 -. PHP엔진이 POST로 전달되는 데이터를 철히나느 경우에는 전달되는 데이터의 일부를 유지하기 위해 메모리가 사용된다.

 -. memory_limit의 값을 너무 높은 값을 설정하는 것은 매우 위험할 수 있는데,

    이는 여러개의 업로드들이 동시에 처리되는 경우 사용가능한 모든 메모리를 사용해 버려

    다른 관련 없는 스크립트 뿐만 아니라 서버 전에체 영향을 미치게 된다.
 -. 0 또는 -1로 설정할경우 메모리 사용의 제한이 없어진다.




#04. post_max_size ( 기본값 : 8M )


 -. POST 방식으로 넘겨질 최대 데이터 사이즈를 설정한다.

 -. post_max_size는 upload_max_filesize보다 20% 크게 지정해야 한다.

    통신 비트는 일반적으로 8bit 후 2bit의 별도의 패리티비트( 오류정정 )가 포함되기 때문이다.




#05. file_uploads ( 기본값 : On )


 -. 파일 업로드 허용 여부

 -. 상태가 Off로 설정되어 있을 경우 업로드 할 수 없다.




#06. upload_tmp_dir ( 기본값 : /tmp )


 -. 업로드 처리시 임시 저장 디렉토리




#07. upload_max_filesize ( 기본값 : 2M )


 -. 최대 업로드 파일사이즈를 지정한다.

 -. 원하는 용량만큼 설정하면 된다.




#08. max_file_uploads ( 기본값 : 20 )


 -. 업로드시 한번에 올릴 수 있는 파일의 최대 갯수 제한 설정










■ Apache 및 PHP 재시작




모든 설정 변경이 완료되었으면


아파치를 재시작 한다.


간혹 PHP7 버전 이상 및 설정에 따라


먼저 PHP를 재시작 이후 아파치를 재시작 해야 한다.







Name __

Password __

Link (Your Website)

Comment

SECRET | 비밀글로 남기기