ad_728x90

2014年1月10日 星期五

修改PHP配置文件上傳大文件幾種方法 php.ini (apache/nginx)


* php.ini 在 FileZilla [ftp 上傳軟體] ㄧ定須在其主畫面內的 --遠端站台--下方檔案中按滑鼠
   右鍵 -->檔案權限...修改成777
* 全數設定完成記得--->還原回原設定-->xxx
* 再重新啓動 -->進入 Apache

在apache最常見的PHP上傳文件大小限制是通過php.ini 配置文件定義的,通過修改以下三個字段的值,重新啟用服務器端程序(如apache),便可成功修改PHP上傳文件的大小限制:
upload_max_filesize = 10M
post_max_size = 10M
memory_limit = 128M
具體配置如下
在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中的最大值一致或者稍大,這樣就不會因為提交數據大小不一致出現的錯誤。)
 代碼如下 複製代碼
client_max_body_size 100m;

COMMENTS HAVE BEEN DISABLED FOR THIS POST [文章的評論已被禁用]

Ratings and Recommendations by outbrain