熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java高級技術 >> 正文

nginx+php上傳大文件解決辦法

2022-06-13   來源: Java高級技術 
最常用的方法是通過設置nginx的client_max_body_size解決nginx+php上傳大文件主要是設置上傳文件大小和php腳本運行時長即可

用nginx來做webserver的時上傳大文件時需要特別注意client_max_body_size這個參數否則會中斷在nginx的請求中在php中是無法記錄到訪問的

首先修改phpini文件
參數 設置 說明
file_uploads on 是否允許通過HTTP上傳文件的開關默認為ON即是開
upload_tmp_dir – 文件上傳至服務器上存儲臨時文件的地方如果沒指定就會用系統默認的臨時文件夾
upload_max_filesize m 望文生意即允許上傳文件大小的最大值默認為M
post_max_size m 指通過表單POST給PHP的所能接收的最大值包括表單裡的所有值默認為M

說明

一般來說設置好上述四個參數後在網絡正常的情況下上傳<=M的文件是不成問題的
但如果要上傳>M的大文件的話只設置上述四項還不一定能行的通除非你的網絡真有M/S的上傳高速否則你還得繼續設置下面的參數
max_execution_time 每個PHP頁面運行的最大時間值(秒)默認
max_input_time 每個PHP頁面接收數據所需的最大時間默認
memory_limit m 每個PHP頁面所吃掉的最大內存默認M

但是還是不行因為的webserver用的是nginx google了一下發現在nginx的conf中添加了一個參數
默認是M需要增大的話
在nginxconf中增加一句
client_max_body_size m;

重啟即可
m表示最大上傳M需要多大設置多大

文本總結

默認情況下nginx允許客戶端請求的最大的單個文件字節數為M就是說如果上傳的文件超過M就上傳不了可以人為修改這個參數例如把下面代碼放在http段這樣就可以上傳M以下的文件

client_max_body_size m;
另外限制上傳文件大小配置在phpini也有配置默認是

post_max_size = M
upload_max_filesize = M



From:http://tw.wingwit.com/Article/program/Java/gj/201404/30494.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.