it-swarm.com.de

413 Request Entity Too Large - Problem beim Hochladen von Dateien

Ich versuche, eine 30MB-Datei auf meinen Server hochzuladen und funktioniert nicht.

  1. Wenn ich eine 30MB-Datei hochlade, lädt die Seite " Seite nicht gefunden "

  2. Wenn ich eine 3MB-Datei hochlade, erhalte ich " 413 Request Entity Too Large " mit nginx/0.6.32

Ich versuche, nginx zu finden, damit ich " client_max_body_size " erhöhen kann, aber ich kann nginx auf meinem Server nicht finden. Ich habe sogar versucht zu laufen:

vi /etc/nginx/nginx.conf

oder

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

um zu überprüfen, ob die Konfigurationsdatei vorhanden ist, konnte ich sie auf meinem Server nicht finden. 

Gibt es überhaupt ein Problem, um dieses Problem zu lösen? Oder muss ich nginx auf meinem Server installieren?.

BEARBEITEN:

Ich habe alle notwendigen Änderungen in meinen php.ini-Dateien vorgenommen,

post_max_size 128M
upload_max_filesize 100M
memory_limit 256M

Danke, Raju

48
Raju Vishwas

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

Bearbeiten Sie die Conf-Datei von Nginx:

nano /etc/nginx/nginx.conf

Fügen Sie im http-Abschnitt eine Zeile hinzu:

http {
    client_max_body_size 100M;
}

Verwenden Sie nicht MB, es funktioniert nicht, nur das M!

Vergessen Sie auch nicht, nginx neu zu starten

systemctl restart nginx
59
Dieter

-in php.ini (in /etc/php.ini)

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

-in nginx.conf (inside/opt/nginx/conf)

client_max_body_size 24000M

Es arbeitet für meinen Fall

31
Arun

Bearbeiten Sie zuerst die Nginx-Konfigurationsdatei (nginx.conf)

Ort: Sudo nano /etc/nginx/nginx.conf

Fügen Sie folgende Codes hinzu:

http {
        client_max_body_size 100M;
}

Dann füge die folgenden Zeilen in PHP Konfigurationsdatei hinzu (php.ini)

Ort: Sudo gedit /etc/php5/fpm/php.ini

Fügen Sie folgende Codes hinzu:

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

Bitte geben Sie die Domain-Nginx-Datei ein:

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

Fügen Sie diesen Code hinzu

client_max_body_size 24000M;

Wenn Sie einen Fehler erhalten, verwenden Sie diesen Befehl

nginx -t
5
Cagdas

Angenommen, Sie haben die erforderlichen Änderungen in Ihren php.ini-Dateien vorgenommen:

Sie können das Problem beheben, indem Sie die folgende Zeile in Ihre nginx.conf-Datei einfügen, die sich im folgenden Pfad befindet:

/etc/nginx/nginx.conf

bearbeiten Sie dann die Datei mit dem vim-Texteditor wie folgt:

vi /etc/nginx/nginx.conf

fügen Sie client_max_body_size mit einem ausreichend großen Wert hinzu, zum Beispiel:

client_max_body_size 20MB;

Stellen Sie anschließend sicher, dass Sie mit :xi oder :wq speichern.

Und dann starte deinen nginx neu.

Das ist es.

Arbeitete für mich, hoffe das hilft.

Ich habe den Upload mit den oben genannten Änderungen arbeiten lassen. Aber als ich die Änderungen vorgenommen hatte, erhielt ich 404-Antworten beim Hochladen von Dateien, was mich zu weiterem Debugging veranlasste, und stellte fest, dass es sich um ein Berechtigungsproblem handelt, indem nginx error.log überprüft wurde 

Lösung:

Überprüfen Sie den aktuellen Benutzer- und Gruppenbesitz in/var/lib/nginx.

$ ls -ld /var/lib/nginx

drwx ------. 3 nginx nginx 17 Okt 5 19:31/var/lib/nginx

Dies besagt, dass ein möglicherweise nicht vorhandener Benutzer und eine Gruppe namens nginx diesen Ordner besitzen. Dies verhindert das Hochladen von Dateien.

In meinem Fall war der in "/etc/nginx/nginx.conf" angegebene Benutzername 

user vagrant; 

Ändern Sie in diesem Fall vagrant den Besitzer des Ordners in den in nginx.conf definierten Benutzer.

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

Stellen Sie sicher, dass es sich tatsächlich geändert hat.

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

Laden Sie nginx und php-fpm erneut auf, um sicherer zu sein.

$ Sudo service nginx reload
$ Sudo service php-fpm reload

Die Erlaubnis, deren Fehler abgelehnt wurde, sollte jetzt verschwinden. Überprüfen Sie das error.log (basierend auf nginx.conf error_log-Speicherort).

$ Sudo nano /path/to/nginx/error.log
2
Nafas Sait

Benutzen:

php -i

befehl oder Hinzufügen:

phpinfo();

um den Speicherort der Konfigurationsdatei abzurufen. 

Aktualisieren Sie diese Variablen entsprechend Ihren Anforderungen und Ihrem Server

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

Unter Linux müssen Sie den Dienst nginx/Apache und phpfpm neu starten, damit die neuen ini-Einstellungen geladen werden. Bei Xampp können Sie diese Verstärker über die Systemsteuerung, die mit solchen Anwendungen geliefert wird, neu starten.

0
Saqib Ashraf

Ich füge die Änderungen direkt zu meinem virtualhost hinzu, anstatt der globalen Konfiguration von nginx, wie folgt:

   server {
     client_max_body_size 100M;
     ...
   }

Und dann ändere ich die Parameter in der php.ini, wie die obigen Kommentare:

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

und was man nicht vergessen kann ist nginx und php-fpm neu zu starten, in centos 7 ist das so:

  systemctl restart nginx
  systemctl restart php-fpm
0
Evan

Datei /etc/nginx/nginx.conf.__ öffnen. client_max_body_size 0; hinzufügen oder ändern

0
Tai Ho