在php.ini中如果我們不對 post_max_size,upload_max_filesize 這些參數進行修改,默認最多只能上傳2MB的文件了,如果幾十MB或更大的就無法上傳了,下面我來介紹修改PHP配置文件上傳大文件幾種方法,希望對大家有點幫助呀
windows+apache+php環境
在apache最常見的PHP上傳文件大小限制是通過 php.ini 配置文件定義的,通過修改以下三個字段的值,重新啟用服務器端程序(如 apache),便可成功修改PHP上傳文件的大小限制:
upload_max_filesize = 8M
post_max_size = 10M
memory_limit = 20M
具體配置如下
在php.ini裡查找
代碼如下 復制代碼max_execution_time
默認是30秒.改為
代碼如下 復制代碼max_execution_time = 0
0表示沒有限制
以上修改的是php上傳文件中腳本執行超時時間
2. 修改 post_max_size 設定 POST 數據所允許的最大大小。此設定也影響到php上傳文件。
php默認的post_max_size 為2M.如果 POST 數據尺寸大於 post_max_size $_POST 和 $_FILES superglobals 便會為空.
查找 post_max_size .改為
代碼如下 復制代碼post_max_size = 150M
3. 很多人都會改了第二步.但php上傳文件時最大仍然為 8M.
為什麼呢.我們還要改一個參數upload_max_filesize 表示所上傳的文件的最大大小。
查找upload_max_filesize,默認為8M改為
upload_max_filesize = 100M
另外要說明的是在php文件上傳中,post_max_size 大於 upload_max_filesize 為佳.
nginx+php上傳文件大小配置修改
以前用php上傳文件,先是修改php.ini的設置,前些日子服務器換了環境(采用nginx+php),今天突然發現稍大一點的文件不能上傳了,糾結 半天,終於找到是nginx的client_max_body_size配置選項值造成的413錯誤。現在分享一下處理方法。
問題說明:
php.ini配置文件中upload_max_filesize設置為50M
post_max_size設置的值為100M
但是上傳超過10兆的文件就會返回uploaderror 413錯誤。
服務器環境:
centos5.7 32位
nginx1.0.8
php5.2.17
解決方法:
1、如果你上傳文件限制為50兆,則先修改php.iniupload_max_filesize 50M
代碼如下 復制代碼post_max_size 100M
2、然後修改nginx配置文件中:
這個配置選項值默認是1m,可以增加到8m以增加提高文件大小限制,我這裡直接修改為100了,具體情況可根據自己的需求設置。(參 考:client_max_body_size大小要和php.ini中的upload_max_filesize、post_max_size中的最大 值一致或者稍大,這樣就不會因為提交數據大小不一致出現的錯誤。)