linux+nginx+mysql+php系統修改檔案上傳大小限制
linux+nginx+mysql+php系統修改檔案上傳大小限制
對於LNMP框架的一些網站,上傳檔案大小會受到多個方面的限制,一個是nginx本身的限制,限制了客戶端上傳檔案的大小,會報錯“413 Request Entity Too Large”;一個是php.ini檔案中預設了多個地方的設定。
1. 在php.ini中,做如下修改:
① file_uploads = On
預設允許HTTP檔案上傳,此選項必須設定為On。
② upload_tmp_dir =
預設為空
③ upload_max_filesize = 2M
預設upload_max_filesize = 2M,即檔案上傳的大小為2M,如果你想上傳超過8M的檔案,比如20M,你必須設定upload_max_filesize = 20M。
④max_file_uploads = 20
這個引數是php5.2.12及更新的版本中增加的一個引數,該引數是設定每次最大上傳檔案數量(Maximum number of files that can be uploaded via a single request),超出該數量的檔案將被丟棄。所以設定max_file_uploads的值為你可能用到的最大檔案數就可以成功解決這個問題了。
檔案上傳限制最大預設設為20,所以一次上傳最大就是20個文件,所以超出20個就會出錯了。
⑤post_max_size = 8M
修改php.ini配置檔案中的post_max_size選項,其代表允許POST的資料最大位元組長度,預設為8M。如果POST資料超出限制,那麼$_POST和$_FILES將會為空。要上傳大檔案,你必須設定該選項值大於 upload_max_filesize指令的值,一般設定upload_max_filesize和post_max_size值相等。另外如果啟用了記憶體限制,那麼該值應當小於memory_limit選項的值。
⑥ max_execution_time
每個PHP頁面執行的最大時間值(秒),預設是30秒,改為max_execution_time = 0,0表示沒有限制。在上傳大檔案時,如果網速很慢,當超過一定的時間,會報指令碼執行超過30秒的錯誤,這是因為在php.ini配置檔案中 max_execution_time配置引數的限制原因,其表示每個指令碼最大允許執行時間(秒),0 表示沒有限制。你可以適當調整max_execution_time的值,不推薦設定為0。
⑦max_input_time = 1000
每個PHP頁面接收資料所需的最大時間,預設60秒,這也是每個指令碼可以消耗的時間,單位是秒。
⑧memory_limit = 128M
每個PHP頁面所吃掉的最大記憶體,預設8M,也就是指令碼執行最大消耗的記憶體,根據你的需求更改數值。
2. 重新載入PHP配置檔案
lnmp的PHP是fast-cgi模式,是單獨的服務,所以要單獨重啟php。
/usr/local/php/sbin/php-fpm reload
3.在 nginx.conf中,做如下修改:
client_max_body_size 35m;
表示允許客戶端請求的最大單檔案位元組數。在nginx.conf檔案中找到client_max_body_size,如果沒有就新增這條,後面的120m就是指定最大支援120M大小的檔案。位置可以新增於http模組或者標示是php頁面的location模組都可以。
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ .php$ {
root /home/www/htdocs;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/www/htdocs$fastcgi_script_name;
include fastcgi_params;
client_max_body_size 35m; #客戶端上傳檔案大小設為35M
client_body_temp_path /home/www/nginx_temp; #設定臨時目錄
}
4. 重新載入Nginx配置檔案
/usr/local/nginx/sbin/nginx -s reload
參考:
http://www.111cn.net/sys/linux/61094.htm
http://blog.sina.com.cn/s/blog_54d63a8b01017q9x.html
本文轉自MQ_douer 51CTO部落格,原文連結:http://blog.51cto.com/douer/1917737,如需轉載請自行聯絡原作者
相關文章
- 修改PHP上傳檔案大小限制的方法PHP
- php.ini修改php上傳檔案大小限制PHP
- php檔案上傳大小限制PHP
- apache上傳檔案大小限制Apache
- apache限制上傳檔案大小Apache
- PbootCMS上傳檔案大小限制boot
- JavaScript限制上傳檔案的大小JavaScript
- 【PHP】修改PHP配置檔案php.ini 上傳檔案的大小限制PHP
- Nginx 調整檔案上傳大小限制Nginx
- 修改SharePoint上傳檔案大小限制(Changing Maximum Upload Size)
- 修改上傳檔案大小
- asp.net 解決檔案上傳大小的限制ASP.NET
- AIX5.3系統檔案大小的限制AI
- 各檔案系統對單個檔案大小的限制
- 如何解決IIS7上傳檔案大小限制【轉】
- struts上傳檔案限制
- 視訊上報跨域,實際上是nginx限制了上傳檔案大小跨域Nginx
- C#中,用Web頁上傳檔案大小限制的問題C#Web
- vue ElementUI upload上傳檔案時對檔案格式、大小和寬高的限制VueUI
- nginx限制上傳大小和超時時間設定說明/php限制上傳大小NginxPHP
- Windows作業系統下檔案大小限制(不斷更新)Windows作業系統
- 獲取上傳檔案的大小
- js判斷上傳檔案大小JS
- 網站設定上傳檔案大小網站
- oracle資料檔案大小限制Oracle
- 限制檔案大小及顯示檔案大小(正規表示式
- jQuery Validate驗證上傳檔案大小jQuery
- 遠端下載上傳命令(繞過大小限制)
- ORACLE物理檔案大小的限制(轉)Oracle
- Oracle資料檔案大小的限制Oracle
- asp.net 上傳大檔案大小控制方案ASP.NET
- windows下檔案系統支援的檔案大小Windows
- FAT、NTFS檔案系統的大小限制與NTFS的效能及最佳化
- Facebook 小遊戲上傳的遊戲包有大小限制遊戲
- 定製QC工作流,限制上傳附件大小
- AspNetCore分散式檔案上傳系統NetCore分散式
- input file控制元件限制上傳檔案型別控制元件型別
- 限制 Apache日誌檔案大小的方法Apache