PHP를 사용하여 개발된 웹 사이트의 경우 (WordPress) PHP설정에 의해 2MB로 용량이 제한 되어 있어 큰 파일을 업로드 하지 못하는 경우가 있다. 서버에서 제한하는 것보다 큰 파일을 업로드 하기 위해서 하기의 설정이 필요하다.
PHP.ini 파일 수정 (PHP 업로드 용량 제한 수정)
/etc/php/VERSION/fpm/php.ini
/etc/php/VERSION/cli/php.ini
상기 2개의 파일에 대해서 하기 5개 항목 설정을 변경한다.
upload_max_filesize = 64M # 파일 최대 업로드 용량 post_max_size = 64M # POST요청(http request)를 통한 업로드 용량 memory_limit = 256M # 메모리 할당 upload_max_filesize보다 커야 함 max_execution_time = 1000 # 실행 시간 timeout file_uploads = On
상기 값은 예제이기 때문에 서버 리소스와 운영하는 사이트의 상황에 맞게 조정해야 하며 cli의 php.ini의 경우, memory_limit = -1 로 되어 있는 경우도 있는데 -1은 PHP에서 최대치로 메모리를 사용함을 의미한다. 따라서 cli의 경우 궂이 256M등으로 낮출 필요가 없다.
Nginx.conf 파일 수정 (업로드 용량 제한 설정 적용)
/etc/nginx/nginx.config
파일에서 http{ 이부분에 하기 내용 추가 }
http{ client_max_body_size 64m; # php설정과 동일하게 수정 # 응답시간과 버퍼 사이즈를 늘려주는 설정 추가 fastcgi_buffers 8 16k; fastcgi_buffer_size 32k; fastcgi_connect_timeout 300; fastcgi_send_timeout 300; fastcgi_read_timeout 300; }
Nginx, php-fpm 재시작
설정이 모두 끝났으면 서비스를 재시작 해준다
# php fpm 서비스 재시작 (php에 버전명을 붙여야 됨) service php7.2-fpm restart # nginx 서비스 재시작 service nginx restart