Maresa P.: POST-Upload von großen Dateien

Hallo Forum,

ich möchte den Besuchern einer Website ermöglichen, Dateien auf den Server zu laden. Dies realisiere ich mittels HTML Formular, welches per Post an den Server gesendet wird. Die Daten verarbeite ich mit PHP weiter.

Da ganze funktioniert wunderbar, allerdings nur bei kleinen Dateien. Was muss ich ändern, damit auch große Dateien (> 5 MB) hochgeldaen werde können.

Meine PHP.ini sieht folgendermaßen aus:

[...]

;;;;;;;;;;;;;;;;;;;
; Resource Limits ;
;;;;;;;;;;;;;;;;;;;

max_execution_time = 60     ; Maximum execution time of each script, in seconds
memory_limit = 50M     ; Maximum amount of memory a script may consume (8M)

[...]

;;;;;;;;;;;;;;;;;
; Data Handling ;
;;;;;;;;;;;;;;;;;

; Maximum size of POST data that PHP will accept.
post_max_size = 50M

[...]

;;;;;;;;;;;;;;;;
; File Uploads ;
;;;;;;;;;;;;;;;;

; Whether to allow HTTP file uploads.
file_uploads = On

; Temporary directory for HTTP uploaded files (will use system default if not
; specified).
;upload_tmp_dir =

; Maximum allowed size for uploaded files.
upload_max_filesize = 50M

Woran kann das liegen? Welche Einstellung muss ich verändern?

Viele Dank für Euere Hilfe

Maresa P.

  1. Hallo,

    Mhh, sind 50MB nicht ein wenig viel?

    max_execution_time = 60     ; Maximum execution time of each script, in seconds

    IMHO solltest Du die Laufzeit der Scripte noch anpassen, da i.d.R. ein 50MB-File nicht in 60 Sekunden hochgeladen wird :-)

    Grüsse AndreD

    1. Hallo,

      Hi AndreD

      Mhh, sind 50MB nicht ein wenig viel?

      max_execution_time = 60    »» Grüsse AndreD

      Ich habe die max_execution_time nun auf 1200 (20 Minuten) gesetzt.
      Es funktioniert aber leider trotzdem nicht. Nach absenden des formulars mit der großen Datei bekomme ich nach ca 1,5 Minuten eine "Die Seite kann nicht angezeigt werden." Seite vom Internet Explorer.

      Woran liegts?

      Vielen Dank

      Maresa P.

      1. Hi,

        Hallo,

        Hi AndreD

        Mhh, sind 50MB nicht ein wenig viel?

        max_execution_time = 60    »» Grüsse AndreD

        Ich habe die max_execution_time nun auf 1200 (20 Minuten) gesetzt.
        Es funktioniert aber leider trotzdem nicht. Nach absenden des formulars mit der großen Datei bekomme ich nach ca 1,5 Minuten eine "Die Seite kann nicht angezeigt werden." Seite vom Internet Explorer.

        liegt es wirklich am Server?
        Vielleicht auch am Client...
        Teste mal gegen, ob Du auf meine Kiste etwas hochladen kannst: http://netp.ath.cx/upload

        Gruß
        Reiner

        1. Hallo!

          liegt es wirklich am Server?

          ja, liegt es.

          Vielleicht auch am Client...
          Teste mal gegen, ob Du auf meine Kiste etwas hochladen kannst: http://netp.ath.cx/upload

          danke, bei Dir funktioniert es!

          Gruß
          Reiner

          Viele Grüße

          Maresa P.

    2. Hello,

      Mhh, sind 50MB nicht ein wenig viel?

      Kommt doch darauf an, was man hochladen will. Bilder, Grafiken, Musik...

      max_execution_time = 60     ; Maximum execution time of each script, in seconds
      IMHO solltest Du die Laufzeit der Scripte noch anpassen, da i.d.R. ein 50MB-File nicht in 60 Sekunden hochgeladen wird :-)

      Die Execution Time des Scriptes hat nichts mit der Dauer des Uploads oder ggf. eines Downloads zu tun. (Bei Downloads müssen nur genügend Buffers im OS zur Verfügung stehen). Das Script wird erst angestoßen, wenn das Environment dafür vollständig vorbereitet ist.

      Liebe Grüße aus http://www.braunschweig.de

      Tom

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      1. Hallo mal wieder ;-)

        Die Execution Time des Scriptes hat nichts mit der Dauer des Uploads oder ggf. eines Downloads zu tun. (Bei Downloads müssen nur genügend Buffers im OS zur Verfügung stehen). Das Script wird erst angestoßen, wenn das Environment dafür vollständig vorbereitet ist.

        Allright, das wusste ich (mal wieder) noch nicht. Danke für den Hinweis!

        Grüsse AndreD

  2. hi,

    Was muss ich ändern, damit auch große Dateien (> 5 MB) hochgeldaen werde können.

    du solltest vor allem eines tun: das protokoll wechseln.

    HTTP ist für uploads in dieser grösse nicht gedacht.
    nutze FTP.

    gruss,
    wahsaga

    1. hi,

      Hallo!

      du solltest vor allem eines tun: das protokoll wechseln.

      Die Dateien müssen aber mittels HTMl formular hochgeladenw erden können. Es ist imho nicht möglich ein Formular per FTP an der Server zus enden, oder doch?

      gruss,
      wahsaga

      Grüße

      Maresa P.

    2. hi,

      Was muss ich ändern, damit auch große Dateien (> 5 MB) hochgeldaen werde können.

      du solltest vor allem eines tun: das protokoll wechseln.

      HTTP ist für uploads in dieser grösse nicht gedacht.
      nutze FTP.

      wo steht das?

      Gruß
      Reiner

  3. das Problem ist gelöst.
    Es lag an der LimitRequestBody in /etc/httpd/conf.d/php.conf

    Viele Grüße

    MAresa P.