2011-07-05 10 views
5

Chcę uzyskać dość duży plik (około 45-50M) od użytkownika mojej aplikacji, a następnie przenieść ten plik na inny serwer.Czy te zmiany konfiguracji odpowiadają moim potrzebom?

Dokonałem następujących zmian w plikach konfiguracyjnych, Czy ktoś może skomentować, jak to zrobiłem, lub czy są jakieś zmiany, proszę zasugerować.

Chcę wiedzieć, czy zmiany te spełniają moje wymagania (przesyłanie dużych plików bez czasu) czy nie?

Zmiany wprowadzone do php.ini plików

max_execution_time = 0 
max_input_time = 900 
memory_limit = 128M 

upload_max_filesize = 50M 
post_max_size = 51M 

Zmiany Apache httpd.conf pliku

Timeout 1800 

Dzięki.

+0

wygląda mi dobrze, przetestuj teraz. –

Odpowiedz

1

powiedziałbym jesteś OK z tych wartości - ale byłoby niemal komicznie łatwo atakującemu DOS swojej witrynie rozbijając je z ogromnymi przesyłania (nie problem, jeśli ten prywatny application/intranet-Type)

2

Gdy użytkownik przesyła plik następujące wartości konfiguracyjne są ważne i powinny być ustawione prawidłowo:

  • PHP
    • file_uploads
    • upload_max_filesize
    • max_input_time
    • memory_limit
    • max_execution_time
    • post_max_size
  • Apache
    • LimitRequestBody

z LimitRequestBody, na pewnym RPM I Instalacja jest ustawiona na .5MB, jeśli ustawiona jest ta opcja, powinieneś usunąć to wszystko razem lub jeśli masz ścisły limit, to możesz to ustawić.

Chciałbym również zainwestować w używanie Node.JS za Apache i przesyłać dalej do tego procesu, dzięki czemu można zmniejszyć zużycie pamięci poprzez zainstalowanie prostej biblioteki do przesyłania.

Po przesłaniu pliku możesz zapisać plik w temacie, utworzyć jego skrót, a następnie przekierować klienta, wysyłając ponownie nagłówek Location, a następnie przekieruje użytkownika z powrotem do procesu php. hash, gdzie można następnie zlokalizować i przywrócić itp.

Powiązane problemy