修改文件上傳大小限制(環(huán)境IIS+PHP)
2017-06-01 07:49:45
19662
修改文件上傳大小限制(環(huán)境IIS+PHP)
修改文件上傳大小,除了需要修改PHP的設(shè)置參數(shù)外,還需要注意以下幾點:
1、上傳文件如果太大,PHP緩存空間和執(zhí)行時間需要適當(dāng)延長。PHP緩存空間主要是指PHP臨時目錄剩余空間大小,還有就是PHP進(jìn)程的內(nèi)存限制,以及PHP運行執(zhí)行的等待時間需要延長。
2、除了PHP設(shè)置外,還需要對IIS對應(yīng)站點做一定的調(diào)整。
下面就具體來了解一下上傳文件需要改動那一些參數(shù):
PHP相關(guān)設(shè)置:
upload_max_filesize = 2M //PHP最大能接受的上傳文件大小,默認(rèn)值為2MB,需要根據(jù)您的上傳文件大小修改適當(dāng)數(shù)值。
post_max_size = 8M //PHP設(shè)定POST數(shù)據(jù)所允許的最大大小。默認(rèn)值為8MB,需要注意的是post_max_size的數(shù)值大于upload_max_filesize的數(shù)值為佳.
memory_limit = 128M //內(nèi)存上限。默認(rèn)值為128MB,如果上傳文件超過內(nèi)存上限建議更改數(shù)值避免傳輸文件時內(nèi)存不夠。
max_execution_time = 30 //PHP最大執(zhí)行時間。默認(rèn)值為30秒,如果上傳文件較大,30秒的PHP執(zhí)行時間無法滿足建議調(diào)高。max_execution_time =0,0表示沒有時間限制
max_input_time = 60 //每個PHP頁面接收數(shù)據(jù)所需的最大時間,默認(rèn)60秒,如果上傳文件較大,60秒的PHP執(zhí)行時間無法滿足建議調(diào)高。
upload_tmp_dir = //文件上傳至服務(wù)器上存儲臨時文件的地方,如果沒指定就會用系統(tǒng)默認(rèn)的臨時文件夾,如果臨時目錄所在的磁盤空間不足已存儲上傳文件,請修改到其他盤符空間充足的地方
IIS相關(guān)設(shè)置:
點擊iis管理器,并選中您需要上傳文件的網(wǎng)站。在功能頁選擇“管理”下的“配置編輯器”。如下圖

設(shè)置上傳超時時間限制。
點擊下拉菜單節(jié)(S),選中system.web>httpRuntime
將executionTimeout的值設(shè)為00:30:00(即30分鐘)

設(shè)置上傳文件大小限制。
點擊下拉菜單節(jié)(S),選中system.webServer>security>requestFiltering
展開requestlimits,將maxAllowedContentLength的默認(rèn)值設(shè)為512000000(即500m)
注:這樣修改直接就能生效,無需重啟iis或者服務(wù)器。

如果您找不到設(shè)置,也可以直接在網(wǎng)站根目錄建一個web.config文件,用此方法可以直接省略前面的步驟,web.config內(nèi)容具體如下
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="512000000" />
</requestFiltering>
</security>
</system.webServer>
<system.web>
<httpRuntime executionTimeout="1800" />
</system.web>
</configuration>
executionTimeout數(shù)值單位是秒,maxAllowedContentLength的數(shù)值單位是KB。