2011-07-05 67 views
5

我想從我的應用程序的用戶那裏獲得一個相當大的文件(大約45-50M),然後將該文件移動到其他服務器。這些配置更改是否適合我的需求?

我已經對配置文件做了如下修改,有人可以評論我是如何做的,或者如果有任何改動,請提出建議。

我想知道這些更改是否滿足我的要求(無時間上傳大文件)或不?

更改的php.ini文件

max_execution_time = 0 
max_input_time = 900 
memory_limit = 128M 

upload_max_filesize = 50M 
post_max_size = 51M 

更改到Apache的httpd.conf 文件

Timeout 1800 

感謝製作。

+0

看起來對我好,現在測試它。 – 2011-07-05 02:38:13

回答

1

我會說你是使用這些值確定 - 不過這將是幾乎可笑容易被黑客DOS您的網站通過與巨大的上傳(如果沒有這個私人/內聯網型應用程序的問題)

砸它
2

當用戶上傳文件以下配置的值是重要的,應正確地設置:

  • PHP
    • file_uploads
    • 的upload_max_filesize
    • max_input_time設置
    • memory_limit的
    • 的max_execution_time
    • 的post_max_size
  • 阿帕奇
    • LimitRequestBody

LimitRequestBody,一些RPM我安裝這個設置爲.5MB,如果設置了thsi,那麼你應該一起刪除它,或者如果你有嚴格的限制,那麼你可以設置它。

我也會投資在Apache後面使用Node.JS,並將上傳轉發到該進程,這樣可以通過安裝簡單的上傳庫來減少大量內存使用量。

當文件已上傳時,您可以將文件存儲在臨時文件中,創建它的散列,然後通過發送回Location標頭來重定向客戶端,然後將用戶重定向回傳遞給php進程哈希,在那裏你可以找到並恢復等

相關問題