標籤:就會 webserver tmp detail 記憶體 指定 系統 預設 大檔案
轉:http://blog.csdn.net/zhengwish/article/details/51602059
通過設定nginx的client_max_body_size解決nginx+php上傳大檔案的問題:
用nginx來做webserver的時,上傳大檔案時需要特別注意client_max_body_size這個參數,否則會中斷在nginx的請求中,在php中是無法記錄到訪問的.
一般上傳大檔案流程:
首先修改php.ini檔案:
參數 設定 說明
file_uploads on 是否允許通過HTTP上傳檔案的開關。預設為ON即是開
upload_tmp_dir – 檔案上傳至伺服器上儲存臨時檔案的地方,如果沒指定就會用系統預設的臨時檔案夾
upload_max_filesize 8m 望文生意,即允許上傳檔案大小的最大值。預設為2M
post_max_size 8m 指通過表單POST給PHP的所能接收的最大值,包括表單裡的所有值。預設為8M
說明
一般來說,設定好上述四個參數後,在網路正常的情況下,上傳<=8M的檔案是不成問題的
但如果要上傳>8M的大檔案的話,只設定上述四項還不一定能行的通。除非你的網路真有100M/S的上傳高速,否則你還得繼續設定下面的參數。
max_execution_time 600 每個PHP頁面啟動並執行最大時間值(秒),預設30秒
max_input_time 600 每個PHP頁面接收資料所需的最大時間,預設60秒
memory_limit 8m 每個PHP頁面所吃掉的最大記憶體,預設8M
但是還是不行,因為的webserver用的是nginx, google了一下,發現在nginx的conf中添加了一個參數:
預設是1M,需要增大的話。
在nginx.conf中增加一句
client_max_body_size 30m;
重啟即可
30m表示最大上傳30M,需要多大設定多大。
[轉]通過設定nginx的client_max_body_size解決nginx+php上傳大檔案的問題