Эти изменения конфигурации соответствуют моим потребностям? - PullRequest
5 голосов
/ 05 июля 2011

Я хочу получить достаточно большой файл (около 45-50 МБ) от пользователя моего приложения, а затем переместить этот файл на другой сервер.

Я внес следующие изменения в конфигурационные файлы, Может кто-нибудь прокомментировать, как я, или, если есть какие-либо изменения, пожалуйста, предложите.

Я хочу знать, соответствуют ли эти изменения моим требованиям (загрузка большого файла без времени) или нет?

Изменения, внесенные в php.ini file

max_execution_time = 0
max_input_time = 900
memory_limit = 128M

upload_max_filesize = 50M
post_max_size = 51M

Изменения в Apache httpd.conf Файл

Timeout 1800

Спасибо.

Ответы [ 2 ]

2 голосов
/ 05 июля 2011

Когда пользователь загружает файл, важны следующие значения конфигурации, которые должны быть установлены правильно:

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

с LimitRequestBody, на некоторых установках RPM это установлено на .5MB, если установлено thsi, то вы должны удалить все это вместе или, если у вас есть строгий лимит, вы можете установить его.

Я также хотел бы инвестировать в использование Node.JS за Apache и пересылать загрузки в этот процесс, таким образом вы можете сократить использование памяти, установив простую библиотеку загрузки.

Когда файл загружен, вы можете сохранить файл в temp, создать его хеш, а затем перенаправить клиенту, отправив обратно заголовок Location, после чего пользователь будет перенаправлен обратно на процесс php в хеше, где вы можете найти и восстановить и т. д.

1 голос
/ 05 июля 2011

Я бы сказал, что вы согласны с этими значениями - но для злоумышленника будет почти комично легко подправить ваш сайт DOS, разбив его огромными загрузками (не проблема, если это приложение частного / интранет-типа)

...