PHP UPLOAD_ERR_PARTIAL

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

mrmmike

Benutzer
Registriert
04. Juli 2022
Beiträge
4
Reaktionspunkte
1
Punkte
3
Hallo zusammen

Wir nutzen die Webstation (DSM 7.1.1-42962 Update 4). Dort haben wir einen Virtual Host eingerichtet. Als Backend dient ein Apache 2.4.

Folgende Probleme haben wir seit kurzem (früher hat alles funktioniert): Wenn wir Dateien (>ca. 2 GB) hochladen via ein php script dann bekommen wir von php den Fehler UPLOAD_ERR_PARTIAL ("The uploaded file was only partially uploaded.")

Kleinere Dateien sind kein Problem. Es scheint kein Timeout Problem zu sein, denn wir können eine kleine Datei langsam (throttling im Browser) hochladen. Dieser Upload dauert dann viel länger als der Upload der grossen Datei.

Die Limits in der php.ini sollten kein Problem sein:
INI:
 [max_execution_time] => Array

        (

            [global_value] => 9000

            [local_value] => 9000

            [access] => 7

        )
[max_file_uploads] => Array

        (

            [global_value] => 1000

            [local_value] => 1000

            [access] => 6

        )
[max_input_time] => Array

        (

            [global_value] => 900000

            [local_value] => 900000

            [access] => 6

        )
        
[file_uploads] => Array

        (

            [global_value] => 1

            [local_value] => 1

            [access] => 4

        )


[memory_limit] => Array

        (

            [global_value] => 4024M

            [local_value] => 4024M

            [access] => 7

        )

[post_max_size] => Array

        (

            [global_value] => 32G

            [local_value] => 32G

            [access] => 6

        )

[upload_max_filesize] => Array

        (

            [global_value] => 32G

            [local_value] => 32G

            [access] => 6

        )

Zu Testzwecken habe ich diese Skripts auf einem Virtual Host mit nginx als Backend ausführen lassen (für Produktion ist das eher keine Option). Kleine Dateien können hochgeladen werden, bei grösseren Dateien bekommt der Client keine Antwort vom Server und der Upload funktioniert nicht.

Ich habe auch ein bisschen an den Timeouts von nginx rumgespielt. Folgendes Skript habe ich auf einem Virtual Host mit Apache und einmal mit nginx laufen gelassen: <?php sleep(3*60); echo "done"; ?>
In der nginx Variante bekomme ich nach 3 Minuten eine Antwort. In der Apache Variante bekomme ich nach 60 Sekunden 504 Gateway Timeout. Ob das einen Zusammenhang mit meinem Problem hat, weiss ich nicht.

Hat jemand eine Idee woran das liegen könnte oder was ich versuchen könnte?

Vielen Dank!
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat