File Upload - Internal Server Error

Develman

Mitglied
Hallo zusammen,

ich habe ein Script geschrieben, mit dem ich per Formular eine Datei auf den Server uploaden kann / will. Die Dateien sind maximal auf 8MB begrenzt.
Ich habe das ganze natürlich auch getestet. Erst lokal -> keine Probleme, dann auf den Webserver geladen und getestet -> auch keine Probleme.

Das Probleme wurde erst bekannt, als Testuploads von einem Kumpel nicht funktionierten. Dieser hatte keine schnelle Internetverbindung. (Ich schätze mindestens kleiner als DSL 6000).
Nun habe ich mich auf die Suche nach dem Problem gemacht und kann ihn mit Hilfe des Firefox-Plugins Firefox Throttle nachstellen.

Die Datei wird komplett an den Webserver gesendet (zumindest wenn man der Anzeige von dem Plugin bezgl. der upgeloadeten MBytes glauben schenken darf), danach wird die Datei aber nicht weiter verarbeitet. Der Server gibt dann einen Internal Server Error 500 aus. Im error log vom Apache steht


Die aktuellen Einstellungen bezgl. Upload in der php.ini sind:

max_execution_time = 30
max_input_time = 60
memory_limit = 32M
post_max_size = 8M
upload_max_filesize = 10M

Der Webserver ist von strato im PowerWeb-Paket.
Ich verzweifle langsam an dem Problem, da ich nun auch viele Dinge verscuht habe durchzutesten (andere Werte in pnp.ini, chmod der Dateien überprüft, ...)
Ich bin für jeden Tipp dankbar! ;)

Gruß
Develman
 
Hallo!

DSL6000 sagt nichts über die Uploadgeschwindigkeit, welche hier ausschlaggebend sein könnte, aus.
Hinzu kommt dass andere Faktoren (z.B. Verbindungsprobleme, Stau auf der Datenautobahn, anderweitiger Datentransfer.....) die Geschwindigkeit negativ beeinflussen.

Seltsam ist dass nicht PHP einen Fehler ausspuckt, sondern Apache.
Da liegt die Vermutung nahe dass dort nach dem Problem gesucht werden muss.
Daher würde ich mal gucken was für Werte bei Timeout und KeepAliveTimeout eingetragen sind.

Gruss Dr Dau
 
Eine Anfrage beim Support von Strato hat ergeben, dass bei dem Webspace die max_exeuction_time bzw. max_input_time auf 120 Sekunden gestellt ist. Daher bricht alles was länger als 2 Minuten dauert ab. Aber vielen Dank für die Hilfestellung!
 
Seltsam ist dass nicht PHP einen Fehler ausspuckt, sondern Apache.

It's not seltsam, it's a Feature :-)

Es ist im Produktiveinsatz sicherer, Fehler zu loggen, als auszugeben, da eine Fehlermeldung sicherheitsrelevante Informationen in sich bergen kann.
Das wird es sein, was dort vor sich geht. :)

Wenn auch ein Log für PHP-Fehler existiert, sollte dort die tatsächliche Fehlerursache drinnen stehen(das, was man sonst ausgegeben bekommt)
 

Neue Beiträge

Zurück