nginx-LNMP框架下修改上传文件大小限制
php架构比较常用的LNMP框架下,此处就不详细介绍LNMP框架了,简单的介绍一个上传文件大小的限制问题。
在nginx配置和php.ini配置中一般会限制上传文件的大小,修改上传文件的大小,就需要修改这两个地方的大小限制。
- 1、修改nginx上传文件大小的配置
(1)修改全局上传文件大小限制
修改nginx.conf中的配置,client_max_body_size为对应上传文件限制的大小,还需要注意的一个配置参数是client_body_buffer_size,这是为客户端开辟的内存缓冲区大小,如果上传文件的大小大于client_body_buffer_size的大小,则会写到对应的本地磁盘空间中,写文件的路径由client_body_temp_path决定。
-
client_max_body_size 4m;
-
client_body_buffer_size 513k;
- client_body_temp_path /home/test/webserver/cache/client_body
(2)修改部分接口上传文件大小限制
如果只是需要修改部分接口上传文件大小的限制,则只需要在对应接口的location中添加对应的参数。
location = /model/controller/uploadfile { root /home/test/odp_test/webroot; index index.php; fastcgi_pass $php_upstream; fastcgi_index index.php; include fastcgi.conf; client_max_body_size 20m; client_body_buffer_size 20m; rewrite ^/ui(/[^\?]*)?((\?.*)?)$ /ui/index.php$1$2 break; }
- 修改php.ini配置
首先确认file_uploads = on ;[是否允许通过HTTP上传文件的开关,默认为ON即是开]
upload_max_filesize = 64m ;即允许上传文件大小的最大值。默认为2M
post_max_size = 64m ;指通过表单POST给PHP的所能接收的最大值,包括表单里的所有值。默认为8M.
一般地,设置好上述四个参数后,上传<=8M的文件是不成问题,在网络正常的情况下。 但如果要上传>8M的大体积文件,只设置上述四项还一定能行的通。进一步配置以下的参数
max_execution_time = 600 ;每个PHP页面运行的最大时间值(秒),默认30秒
max_input_time = 600 ;每个PHP页面接收数据所需的最大时间,默认60秒
memory_limit = 128m ;每个PHP页面所吃掉的最大内存,默认8M
把上述参数修改后,在网络所允许的正常情况下,就可以上传大体积文件了
max_execution_time = 600
max_input_time = 600
memory_limit = 128m
file_uploads = on
upload_max_filesize = 64m
post_max_size = 64m
max_file_uploads = 20(一次最多上传的文件数,用于多文件同时上传时)
posted on 2020-05-28 22:42 1450811640 阅读(358) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~