nginx php上傳大檔案解決辦法

2021-10-09 01:20:40 字數 1169 閱讀 1608

最常用的方法是通過設定nginx的client_max_body_size解決nginx+php上傳大檔案,主要是設定上傳檔案大小和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允許客戶端請求的最大的單個檔案位元組數為1m,就是說如果上傳的檔案超過1m就上傳不了。可以人為修改這個引數,例如把下面**放在http段,這樣就可以上傳10m以下的檔案

client_max_body_size 10m; 

另外限制上傳檔案大小配置在php.ini也有配置,預設是

post_max_size = 8m

upload_max_filesize = 2m

nginx php上傳大檔案解決辦法

最常用的方法是通過設定nginx的client max body size解決nginx php上傳大檔案,主要是設定上傳檔案大小和php指令碼執行時長即可。用nginx來做webserver的時,上傳大檔案時需要特別注意client max body size這個引數,否則會中斷在nginx的請求...

nginx php上傳大檔案配置

client max body size 500m 上傳檔案大小限制 upload max filesize 500m 允許上傳檔案大小的最大值,需在php.ini中配置 post max size 500m 通過表單post給php的所能接收的最大值,包括表單裡的所有值,需在php.ini中配置 ...

上傳大檔案 關於大檔案上傳

js計算檔案md5使用spark md5.js,據說這個庫使用的是世界上最快的md5演算法。js對檔案切片並使用ajax上傳切片 let size file.size 獲取檔案大小 const shardsize 1024 1024 塊大小1mb let shardcount math.ceil s...