首頁  >  文章  >  後端開發  >  為什麼php 大檔案無法上傳

為什麼php 大檔案無法上傳

不言
不言原創
2018-07-09 17:51:361857瀏覽

這篇文章主要介紹了關於php 大檔案上傳失敗的原因及解決方法,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

php.ini無法上傳大檔案解決方案

#1、開啟php.ini

2、查找post_max_size:(修改上傳大小限制)

#表單提交最大數值,此項目不是限制上傳單一檔案的大小,而是針對整個表單的提交資料進行限制的預設為8m,設定為自己需要的值,此參數建議要設定比upload_max_filesize大一些

3、查找file uploads :(修改上傳開關限制)

是否允許透過http上傳檔案的開關,確認file_uploads = on

4、查找upload_tmp_dir:(修改上傳臨時檔案限制)

#檔案上傳到伺服器上儲存暫存檔案的地方,如果沒指定就會用系統預設的暫存資料夾如果系統報錯提示有「xxx暫存目錄xxx」的話,這個目錄就需要你來設定一個有效目錄,沒報錯就不用管

5、查找upload_max_filesize:(修改上傳大小限制)

#允許上傳檔案大小的最大值,預設為2m,設定為自己需要的值此參數建議不要超過post_max_size值,因為它受控於post_max_size值(就算upload_max_filesize設定了1g,

而post_max_size只設定了2m時,大於2m的文件照樣傳不上去,因為它受控於post_max_size值)

#6、如果要上傳大於8m的文件,還需要對下面的參數也進行設定: (修改上傳時間限制)

查找max_execution_time = 600 ;每個php頁面運行的最大時間值(秒),預設30秒

#max_input_time = 600 ;每個php頁面接收資料所需的最大時間,預設60秒

memory_limit = 8m ;每個php頁面所需的最大內存,預設8m

nginx法上傳大檔案解決方案

## 1.client_body_buffer_size 盡量設定的大點,這是基於速度的考慮,如果因為設定的過小,導致上傳的檔案老要寫磁碟,那速度就太慢了。

2.client_body_temp_path 路徑要有可寫權限,這個是明顯的錯誤了。改正了就好

3.client_max_body_size 設定上傳檔案的最大值,這個是基於安全的考慮,我們認為正常使用者不會或基本上不會上傳太大的檔案。

可以設定為client_max_body_size 100m; 或依照自己的業務來設定這個值。

1、開啟php.ini

#2、尋找post_max_size:(修改上傳大小限制)

表單提交最大數值,此項目不是限制上傳單一檔案的大小,而是針對整個表單的提交資料進行限制的預設為8m,設定為自己需要的值,此參數建議要設定比upload_max_filesize大一些

#3、查找file uploads:(修改上傳開關限制)

#是否允許透過http上傳檔案的開關,確認file_uploads = on

4、尋找upload_tmp_dir:(修改上傳暫存文件限制)

檔案上傳至伺服器上儲存暫存檔案的地方,如果沒指定就會用系統預設的暫存資料夾如果系統報錯提示有「xxx臨時目錄xxx」的話,這個目錄就需要你來設定一個有效目錄,沒報錯就不用管

#5、查找upload_max_filesize:(修改上傳大小限制)

允許上傳檔案大小的最大值,預設為2m,設定為自己需要的值此參數建議不要超過post_max_size值,因為它受控於post_max_size值(就算upload_max_filesize設定了1g,

而post_max_size只設定了2m時,大於2m的檔案照樣傳不上去,因為它受控於post_max_size值)

6、如果要上傳大於8m的文件,也需要對下面的參數也進行設定:(修改上傳時間限制)

#找出max_execution_time = 600 ;每個php頁面運行的最大時間值(秒),預設30秒

max_input_time = 600 ;每個php頁面接收資料所需的最大時間,預設60秒

memory_limit = 8m ;每個php頁面所需的最大內存,預設8m

#nginx法上傳大檔案解決方案

#1.client_body_buffer_size 盡量設定的大點,這是基於速度的考慮,如果因為設定的過小,導致上傳的檔案老要寫磁碟,那速度就太慢了。

2.client_body_temp_path 路徑要有可寫權限,這個是明顯的錯誤了。改正了就好

3.client_max_body_size 設定上傳檔案的最大值,這個是基於安全的考慮,我們認為正常使用者不會或基本上不會上傳太大的檔案。

可以設定為client_max_body_size 100m; 或依照自己的業務來設定這個值。

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關推薦:

php中heredoc的用法

#php的後期靜態綁定

以上是為什麼php 大檔案無法上傳的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn