Php
php中如何克服IIS消息超出請求內容長度
我在 IIS8.5 上使用 phpUploader。我將 php 上傳設置為 20mb,並將網站設置為:
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <security> <requestFiltering> <requestLimits maxAllowedContentLength="30000001" /> </requestFiltering> </security> </system.webServer> </configuration>
我試圖上傳一個大於允許的文件,大約 50mb,而不是 php 抓取它,IIS 給了我一個錯誤。
這是 phpUploader.php 中的檢查:
// Max size PER file in KB $max_file_size="20000"; // Max size for all files COMBINED in KB $max_combined_size="80000"; //Check the size of each file } Elseif($_FILES['file']['size'][$i] > ($max_file_size*1024)) { $error.= "<b>FAILED:</b> ".$_FILES['file']['name'][$i]." <b>REASON:</b> File to large.<br />";
我在 php.ini 中有這個設置:
upload_max_filesize = 100M
如何在 php 驗證文件大小之前防止 IIS 出錯?
在涉及 PHP 等應用程序框架之前,首先處理 IIS 施加的任何限制。如果 IIS 確定請求太大,它會停止請求管道並返回錯誤,而無需呼叫 PHP。
如果要處理
file too large
程式碼中的錯誤,可以嘗試將 IIS 限制設置得非常高。但是如果有人發布了一個更大的文件,IIS 錯誤仍然會出現。