programing

413 요구 엔티티가 너무 크다 - 파일 업로드 문제

newsource 2022. 9. 29. 00:21

413 요구 엔티티가 너무 크다 - 파일 업로드 문제

서버에 30MB 파일을 업로드하려고 하는데 업로드가 되지 않습니다.

  1. 30MB 파일을 업로드하면 페이지가 "페이지를 찾을 수 없습니다" 로딩됩니다.

  2. 3MB 파일을 업로드하면 nginx/0.6.32와 함께 "413 Request Entity Too Large"가 표시됩니다.

"client_max_body_size"를 늘리기 위해 nginx를 찾으려고 하는데 서버에 설치된 nginx를 찾을 수 없습니다.달리기도 해봤어요

vi /etc/nginx/nginx.conf

또는

vi /usr/local/nginx/conf/nginx.conf

컨피규레이션파일이 존재하는지 확인하려고 했는데 서버에서 찾을 수 없었습니다.

이 문제를 해결할 방법이 있습니까?아니면 서버에 nginx를 설치해야 하나요?

편집:

php.ini 파일에 필요한 모든 변경을 가했습니다.

post_max_size 128M
upload_max_filesize 100M
memory_limit 256M

고마워, 라주

출처 : http://www.cyberciti.biz/faq/linux-unix-bsd-nginx-413-request-entity-too-large/

nginx의 conf 파일을 편집합니다.

nano /etc/nginx/nginx.conf

에 행을 추가합니다.http,server또는location섹션:

client_max_body_size 100M;

MB는 사용하지 마세요.M만 사용할 수 있어요!

nginx를 재시작하는 것도 잊지 마십시오.

systemctl restart nginx

- in php.ini (/etc/syslog.ini 참조)

 max_input_time = 24000
 max_execution_time = 24000
 upload_max_filesize = 12000M
 post_max_size = 24000M
 memory_limit = 12000M

-innginx.conf(/opt/nginx/conf 참조)

client_max_body_size 24000M

내 경우에는 효과가 있다.

먼저 Nginx 컨피규레이션파일을 편집합니다(nginx.conf)

장소:sudo nano /etc/nginx/nginx.conf

다음 코드 추가:

http {
        client_max_body_size 100M;
}

그런 다음 PHP 구성 파일에 다음 행을 추가합니다.php.ini)

장소:sudo gedit /etc/php5/fpm/php.ini

다음 코드 추가:

memory_limit = 128M 
post_max_size = 20M  
upload_max_filesize = 10M
sudo nano /etc/nginx/nginx.conf

그런 다음 http 섹션에 행을 추가합니다.

http {
    client_max_body_size 100M;
}

MB만 M을 사용하지 마세요.

systemctl restart nginx

php 로케이션의 경우

sudo gedit /etc/php5/fpm/php.ini

현재 최대 php 7.0 이상을 사용합니다.

sudo nano /etc/php/7.2/fpm/php.ini     //7.3,7.2 or 7.1 which php you use

당신의 욕망에 의해 증가하는 것을 막으세요.

memory_limit = 128M 
post_max_size = 20M  
upload_max_filesize = 10M

php-fpm 재시작

service php-fpm restart 

다음과 같이 nginx의 글로벌 설정 대신 가상 호스트에 직접 변경을 추가합니다.

   server {
     client_max_body_size 100M;
     ...
   }

그런 다음 위의 설명과 같이 php.ini의 매개 변수를 변경합니다.

   max_input_time = 24000
   max_execution_time = 24000
   upload_max_filesize = 12000M
   post_max_size = 24000M
   memory_limit = 12000M

nginx와 php-fpm을 재시작하면 centos 7은 다음과 같습니다.

  systemctl restart nginx
  systemctl restart php-fpm

도메인 nginx 파일을 입력하십시오.

nano /etc/nginx/sites-available/domain.set

이 코드를 파일에 추가

client_max_body_size 24000M;

오류가 발생하면 이 명령을 사용합니다.

nginx -t

같은 에러가 발생해, 이하의 순서로 수정했습니다.

  1. 먼저 nginx.conf 파일을 편집합니다.

    vi /etc/nginx/nginx.conf

[HTTP] 섹션에서 다음 행을 추가합니다.

http {

    client_max_body_size 100M;
}
  1. 마침내 다음 명령어로 Nginx를 재시작했습니다.

systemctl restart nginx

php.ini 파일에서 필요한 변경을 가했다고 가정하면 다음과 같습니다.

다음 경로에 있는 nginx.conf 파일에 다음 행을 추가하여 문제를 해결할 수 있습니다.

/etc/nginx/nginx.conf

그런 다음 다음과 같이 vim 텍스트에디터를 사용하여 파일을 편집합니다.

vi /etc/nginx/nginx.conf

client_max_body_size 값을 충분히 큰 값으로 추가합니다.다음은 예를 제시하겠습니다.

client_max_body_size 20MB;

에는 꼭 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아, 아:xi ★★★★★★★★★★★★★★★★★」:wq

그런 다음 nginx를 다시 시작합니다.

바로 그겁니다.

날 위해 일했어, 이게 도움이 되길 바라

위의 변경사항으로 업로드를 받았습니다.그러나 변경했을 때 파일업로드에 404개의 응답이 나타나기 시작했고 디버깅을 더 진행하게 되었습니다.nginx error.log를 체크하여 권한 문제를 알아냈습니다.

솔루션:

/var/lib/nginx의 현재 사용자 및 그룹 소유권을 확인합니다.

$ ls -ld /var/lib/nginx

drwx--------. 3 nginx nginx 17 10월 5일 19:31 /var/lib/nginx

이는 nginx라는 이름의 존재하지 않는 사용자 및 그룹이 이 폴더를 소유하고 있음을 나타냅니다.이것은 파일 업로드를 방해하고 있습니다.

제 경우 "/etc/nginx/nginx.conf"에서 언급된 사용자 이름은

user vagrant; 

이 경우 폴더 소유권을 nginx.conf에 정의된 사용자로 변경합니다.

$ sudo chown -Rf vagrant:vagrant /var/lib/nginx

실제로 변경되었는지 확인합니다.

$ ls -ld /var/lib/nginx
drwx------. 3 vagrant vagrant 17 Oct  5 19:31 /var/lib/nginx

안전한 sade를 위해 nginx 및 php-fpm을 다시 로드합니다.

$ sudo service nginx reload
$ sudo service php-fpm reload

권한 거부 오류가 사라집니다.error.log(nginx.conf error_log 위치에 기반)를 확인합니다.

$ sudo nano /path/to/nginx/error.log

Apache2(Ubuntu 18 for me)를 위한 솔루션을 찾고 있는 사용자는 다음을 편집할 수 있습니다.

/etc/apache2/apache2.conf

그리고 행을 검색/편집합니다.

LimitRequestBody 7000000 #7mb

을 ./etc/nginx/nginx.conf" " " 변경"client_max_body_size 0;

용도:

php -i

명령 또는 추가:

phpinfo();

컨피규레이션파일 위치를 가져옵니다.

요구와 서버에 따라 이러한 변수 업데이트

max_input_time = 24000
max_execution_time = 24000
upload_max_filesize = 12000M
post_max_size = 24000M
memory_limit = 12000M

Linux 에서는 새로운 ini 설정을 로드하기 위해 nginx / apache 및 pphpm 서비스를 재시작해야 합니다.xampp, amp에서는 이러한 어플리케이션에 부속되어 있는 제어판에서 이러한 어플리케이션을 재기동할 수 있습니다.

언급URL : https://stackoverflow.com/questions/24306335/413-request-entity-too-large-file-upload-issue