一、錯誤問題匯總
1、服務(wù)器 I/O 錯誤
帶寬太小,文件太大
2、上傳錯誤413 Request Entity Too Large
此錯誤表示上傳的實體太大,被服務(wù)器拒絕了,需要配置服務(wù)器大小
3、未設(shè)置文件大小
圖中的0MB表示你沒有設(shè)置文件大小,需要在自定義字段中設(shè)置大小。
4、相關(guān)錯誤代碼
upload_file_exceeds_limit 上傳的文件超過了PHP配置文件中允許的最大大小。
5、游客無法上傳
檢查服務(wù)器的POST值和上傳值,POST值一定要大于上傳值。
6、百度編輯器不能上傳:后端配置沒有正確加載
http://m.223987.com/v3doc/2414.html
7、百度編輯器不能上傳:http請求錯誤
參考下面章節(jié)的:服務(wù)器限制文件上傳大小
還有中可能是被服務(wù)器安全機制攔截了,可能是不安全的文件,換一個文件試試
二、配置說明
1、php.ini的相關(guān)配置
php.ini文件位置不固定,每個主機的目錄不一樣,需要咨詢服務(wù)商此文件的位置
查找post_max_size
表單提交最大數(shù)值,此項不是限制上傳單個文件的大小,而是針對整個表單的提交數(shù)據(jù)進行限制的 默認為8M,設(shè)置為自己需要的值,此參數(shù)建議要設(shè)置比upload_max_filesize大一些
查找upload_max_filesize
允許上傳文件大小的最大值,默認為2M,設(shè)置為自己需要的值此參數(shù)建議不要超過post_max_size值,因為它受控于post_max_size值(就算upload_max_filesize設(shè)置了1G,而post_max_size只設(shè)置了2M時,大于2M的文件照樣傳不上去,因為它受控于post_max_size值)
查找max_input_vars
用來限制提交的表單數(shù)量,默認值為 1000, 如果你網(wǎng)站欄目太多的話,而且需要配置用戶權(quán)限的時候會發(fā)現(xiàn)無法保存,這時候說明這個值太小了,設(shè)置10000一般夠用。
查找post_max_size
表單提交最大數(shù)值,此項不是限制上傳單個文件的大小,而是針對整個表單的提交數(shù)據(jù)進行限制的
默認為8M,設(shè)置為自己需要的值,此參數(shù)建議要設(shè)置比upload_max_filesize大一些
查找File Uploads
是否允許通過http上傳文件的開關(guān),確認file_uploads = on
查找upload_tmp_dir
文件上傳至服務(wù)器上存儲臨時文件的地方,如果沒指定就會用系統(tǒng)默認的臨時文件夾
如果系統(tǒng)報錯提示有“XXX臨時目錄XXX”的話,這個目錄就需要你來設(shè)置一個有效目錄,沒報錯就不用管
查找upload_max_filesize
允許上傳文件大小的最大值,默認為2M,設(shè)置為自己需要的值此參數(shù)建議不要超過post_max_size值,因為它受控于post_max_size值(就算upload_max_filesize設(shè)置了1G,而post_max_size只設(shè)置了2M時,大于2M的文件照樣傳不上去,因為它受控于post_max_size值)
如果要上傳大于8M的文件,還需要對下面的參數(shù)也進行設(shè)置:
查找max_execution_time = 600 ;每個PHP頁面運行的最大時間值(秒),默認30秒
max_input_time = 600 ;每個PHP頁面接收數(shù)據(jù)所需的最大時間,默認60秒
memory_limit = 8M ;每個PHP頁面所需要的最大內(nèi)存,默認8M
2、服務(wù)器限制文件上傳大小
IIS配置
打開IIS管理器,找到Default Web Site。先進行停止。 在IIS中雙擊“請求篩選”打開。 點擊右邊的“編輯功能設(shè)置”,打開“編輯請求篩選設(shè)置”對話框。 其中的允許的最大容量長度,默認是”30000000“,30M,將其修改為你所需要的大小即可。 啟動IIS.
Nginx配置
修改nginx.conf中的http段: client_max_body_size 1024m; #我這里是1024MB
Apache配置
可以在 .htaccess 或 httpd.conf 加入以下語句:
LimitRequestBody 1024000000