>  기사  >  백엔드 개발  >  왜 PHP 대용량 파일을 업로드할 수 없나요?

왜 PHP 대용량 파일을 업로드할 수 없나요?

不言
不言원래의
2018-07-09 17:51:361855검색

이 글은 주로 PHP 대용량 파일 업로드 실패의 원인과 해결 방법을 소개합니다. 이제는 모든 사람과 공유합니다. 도움이 필요한 친구들은 참고할 수 있습니다.

php.ini는 대용량 파일을 업로드할 수 없습니다.

1. php.ini를 엽니다

2. post_max_size 찾기: (업로드 크기 제한 수정)

양식 제출의 최대값은 이 항목의 크기를 제한하지 않습니다. 단일 업로드 파일이지만 전체 양식의 제출 데이터에 대한 기본 제한은 8m이며, 이 매개변수를 upload_max_filesize

3보다 크게 설정하는 것이 좋습니다. 업로드 스위치 제한 수정)

http 스위치를 통한 파일 업로드 허용 여부는 file_uploads = on

4을 확인하세요. upload_tmp_dir:(업로드 임시 파일 제한 수정)

파일을 찾으세요. 서버에 업로드되어 임시 저장됩니다. 파일 위치가 지정되지 않은 경우 시스템의 기본 임시 폴더가 사용됩니다. 시스템 오류에 "xxx 임시 디렉터리 xxx" 메시지가 표시되면 이 디렉터리에 유효한 디렉터리를 설정해야 합니다.

5. upload_max_filesize를 찾으세요:(업로드 크기 제한 수정)

최대 허용 업로드 파일 크기, 기본값은 2m입니다. 원하는 값으로 설정하세요. 이 매개변수는 post_max_size 값에 의해 제어되므로 post_max_size 값을 초과하지 않는 것이 좋습니다(upload_max_filesize를 1g으로 설정하고

post_max_size를 2m로 설정하더라도 2m보다 큰 파일은 업로드되지 않습니다. , post_max_size 값에 의해 제어되기 때문입니다)

6. 8m보다 큰 파일을 업로드하려면 다음 매개변수도 설정해야 합니다. (업로드 시간 제한 수정)

찾기 max_execution_time = 600; 각 PHP 페이지가 실행되는 최대 시간 값(초), 기본값은 30초

max_input_time = 600; 각 PHP 페이지가 데이터를 수신하는 데 필요한 최대 시간, 기본값은 60초

memory_limit = 8m; 각 PHP 페이지에 필요한 최대 메모리, 기본값은 8m

nginx 대용량 파일 업로드 문제를 해결하는 방법

1.client_body_buffer_size 설정해 보세요. 이는 속도를 고려한 것입니다. 설정이 너무 작아서 업로드된 파일을 항상 디스크에 써야 하는 경우 속도가 너무 느려집니다.

2.client_body_temp_path 경로에 쓰기 권한이 있어야 합니다. 이는 명백한 실수입니다. 수정하세요

3.client_max_body_size는 업로드된 파일의 최대값을 설정합니다. 이는 보안 고려사항에 따른 것입니다. 일반 사용자는 너무 큰 파일을 업로드하지 않거나 기본적으로 업로드하지 않을 것이라고 생각합니다.

client_max_body_size 100m로 설정하거나 자신의 비즈니스에 따라 이 값을 설정할 수 있습니다.

1. php.ini를 엽니다

2. post_max_size 찾기: (업로드 크기 제한 수정)

이 항목은 양식 제출의 최대값을 제한하지 않습니다. 단일 업로드 파일이지만 전체 양식에 대한 기본 데이터 제출 제한은 8m입니다. 이 매개변수는 upload_max_filesize

3보다 크게 설정하는 것이 좋습니다. 업로드 스위치 제한 수정)

http 스위치를 통한 파일 업로드 허용 여부, file_uploads = on

4을 확인하세요. upload_tmp_dir:(업로드 임시 파일 제한 수정)

업로드 지정하지 않으면 시스템의 기본 임시 폴더가 사용됩니다. 시스템 오류에 "xxx 임시 디렉터리 xxx"가 표시되면 이 디렉터리에 유효한 디렉터리를 설정해야 합니다. 오류는 보고되지 않으니 걱정하지 마세요. 5. upload_max_filesize 검색:

(업로드 크기 제한 수정)

최대 허용 업로드 파일 크기, 기본값은 2m입니다. 이 매개변수는 원하는 값으로 설정하세요. post_max_size 값에 의해 제어되기 때문에 post_max_size 값을 초과하지 않는 것이 좋습니다(upload_max_filesize가 1g으로 설정되어 있어도

post_max_size를 2m로만 설정한 경우 post_max_size 값에 의해 제어되므로 2m보다 큰 파일은 업로드할 수 없습니다.)

# 🎜🎜#6. 8m보다 큰 파일을 업로드하려면 다음 매개변수도 설정해야 합니다. (업로드 시간 제한 수정)

max_execution_time = 600; 실행되는 각 PHP 페이지의 최대 시간 값(초), 기본값은 30초입니다.

max_input_time = 600; php 페이지에서 데이터를 수신하는 시간, 기본값 60초

memory_limit = 8m; 각 PHP 페이지에 필요한 최대 메모리, 기본값 8m#🎜 🎜## 🎜🎜#

nginx 대용량 파일 업로드 방법 솔루션# 🎜🎜# 1.Client_body_buffer_size는 속도를 고려하여 최대한 크게 설정해야 합니다. 업로드된 파일을 너무 작게 설정하여 항상 디스크에 써야 한다면 속도가 너무 느려질 것입니다.

2. client_body_temp_path 경로에는 쓰기 가능한 권한이 있어야 합니다. 이는 명백한 실수입니다. 그냥 수정하세요

3.client_max_body_size는 업로드된 파일의 최대값을 설정합니다. 이는 보안 고려사항에 따른 것입니다. 파일이 큽니다.

은 client_max_body_size 100m로 설정하거나 자신의 비즈니스에 따라 이 값을 설정할 수 있습니다.

위 내용은 모두의 학습에 도움이 되기를 바랍니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 주목해주세요! 관련 권장 사항:

php에서 heredoc 사용

#🎜 🎜#php의 늦은 정적 바인딩

위 내용은 왜 PHP 대용량 파일을 업로드할 수 없나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.