Empfangen von 404 beim Hochladen von Dateien größer als 10 KB

Ich habe ein Datei-Upload-Formular mit AJAX-Code erstellt, das perfekt auf meinem localhost (xampp / apache) läuft. Ich kann Dateien bis zu 256 MB hochladen. Verwenden von HTTP.

Wenn ich diesen Code jedoch auf meinem nginx-Server auf aws ec2 hochlade, erhalte ich einen 404, wenn ich versuche, eine Datei größer als 10 KB hochzuladen (ja, das ist ein K). Ich benutze HTTPS.

Ich dachte, dass die php.ini Einstellungen vielleicht falsch waren, also fügte ich diesen Code dem Dateiuploadformular hinzu.

 console.log("max_execution_time = "); console.log("max_input_time = "); console.log("memory_limit = "); console.log("post_max_size = "); console.log("file_uploads = "); console.log("upload_max_filesize = "); console.log("max_file_uploads = "); console.log("default_socket_timeout = ");  

Ich bekomme diese Konsolenausgabe.

Notieren Sie die 0 gefolgt von “Datei-Upload-Erfolg”. Hier ist 0 der $_FILES['ninja_file']['error'] dh $_FILES['ninja_file']['error']

Die zwei Dateien, die ich in diesem Fall hochgeladen habe, waren 9KB.

Wenn Sie die Nachricht Post ... 404 () unten sehen, musste ich eine 22KB-Datei hochladen.

Bildbeschreibung hier eingeben

In nginx.conf stelle ich ein

 client_max_body_size 0; 

Wenn Sie die Größe auf 0 einstellen, wird die Überprüfung der Körpergröße der Client-Anfrage gemäß den Dokumenten http://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size deaktiviert

Technologie:

  • WordPress 4.7
  • PHP 7.0
  • NGINX 1.10

Solutions Collecting From Web of "Empfangen von 404 beim Hochladen von Dateien größer als 10 KB"

Überprüfen Sie die Datei nginx error.log (basierend auf der Position nginx.conf error_log).

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

Es gibt einen Fehler “Berechtigung verweigert” auf /var/lib/nginx . Dies ist passiert, weil ich die user in nginx.conf geändert habe

 user nginx; 

zu etwas anderem. In diesem Fall,

 user iam; 

Lösung:

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

 $ ls -ld /var/lib/nginx drwx------ 3 nginx nginx 4096 Aug 5 00:05 /var/lib/nginx 

Dies sagt Ihnen, dass ein möglicherweise nicht existierender Benutzer und eine Gruppe namens nginx diesen Ordner besitzt. Dies verhindert das Hochladen von Dateien.

Ändern Sie den Eigentümer des Ordners auf den in nginx.conf definierten Benutzer in diesem Fall iam (sudo ist möglicherweise nicht erforderlich).

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

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

 $ ls -ld /var/lib/nginx drwx------ 3 iam iam 4096 Aug 5 00:05 /var/lib/nginx 

Der Fehler “Zugriff verweigert” sollte nun entfernt werden. Überprüfen Sie die Datei error.log (basierend auf der Position nginx.conf error_log).

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

Wenn das nicht funktioniert, müssen Sie möglicherweise nginx und php-fpm neu laden.

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