nginx:413 Request Entity Too Large的处理办法--修改 PHP上传文件大小

开发环境:CentOS + Nginx + PHP + MySql + phpMyAdmin

在用 phpMyAdmin 进行 sql 数据库导入的时候,经常需要上传比较大的 sql 数据文件,而这时会常碰见 nginx报错:413 Request Entity Too Large。

解决此问题,根据上传数据文件的大小,你需要调节两个地方的参数配置:

1、php 默认上传文件大小限制为 2M,如果超出 2M 你需要修改 php 配置文件 php.ini 里面的参数

post_max_size = 8M (表单提交的最大限制,此项不是限制上传单个文件的大小,而是针对整个表单提交的数据进行限制。)

upload_max_filesiz e = 2M (上传的单个文件的最大限制)

需要保证 post_max_size >= upload_max_filesize ,也就是前者不小于后者。

修改之后一定要重启 php-fpm 。

2.、除了修改 php 配置,你也需要修改nginx配置文件 nginx.conf

打开 nginx 配置文件 nginx.conf,找到 http{} 段,在其中添加一行配置:

client_max_body_size 8m;
其中 8m 可以根据需要上传文件大小自行设定。

修改之后一定要重新载入 nginx (service nginx reload)。

(0)

相关推荐

  • nginx修改上传文件大小限制的方法

    新装了一台服务器,用nginx做代理.突然发现上传超过1M大的客户端文件无法正常上传,于是修改了下nginx的配置. cd /export/servers/nginx/conf/nginx.conf,在这个配置文件里面的server段里面的 location / { root html; index index.html index.htm; client_max_body_size 1000m; } 加上了client_max_body_size    字段,怎么重启都不行.后来在总配置文件里

  • Nginx上传文件全部缓存解决方案

    下面通过文字说明给大家详解Nginx上传文件全部缓存解决方案. 因为应用服务器(Jetty)里面实现了上传时写了进度条.经过缓存.就没法读取到进度了.此外,在Nginx处缓存文件,也降低了传输效率. nginx采用1.5.6. 后端采用nodejs+formidable的方式接受上传文件,本问题的对应与采用什么样的后端没太大关系,这里只是交代一下. 问题: 在前端页面上将文件上传,nginx没有将每一块收到的文件数据块转发给后端,而是全部缓存了下来,全部收取完成后再一块一块的转发给后端,显而易见

  • nginx上传文件大小报错500的解决办法

    nginx上传文件大小报错500的解决办法 采用nginx作反向代理,出现了一个诡异的问题,小文件可以提交,大文件会报500内部错误.这个是什么原因导致的呢? 查wiki可知,上传文件大小相关的有三个配置 client_body_buffer_size 配置请求体缓存区大小, 不配的话, client_body_temp_path 设置临时文件存放路径.只有当上传的请求体超出缓存区大小时,才会写到临时文件中 client_max_body_size 设置上传文件的最大值 所以查出来,问题出现的原

  • nginx:413 Request Entity Too Large的处理办法--修改 PHP上传文件大小

    开发环境:CentOS + Nginx + PHP + MySql + phpMyAdmin 在用 phpMyAdmin 进行 sql 数据库导入的时候,经常需要上传比较大的 sql 数据文件,而这时会常碰见 nginx报错:413 Request Entity Too Large. 解决此问题,根据上传数据文件的大小,你需要调节两个地方的参数配置: 1.php 默认上传文件大小限制为 2M,如果超出 2M 你需要修改 php 配置文件 php.ini 里面的参数 post_max_size =

  • Nginx HTTP:413 Request Entity Too Large解决方法

    概述 今天遇到一个问题,在PHP程序中上传图片出现了以下错误:HTTP:413 Request Entity Too Large. 开发环境:CentOS + Nginx + PHP + MySql 解决方案 解决此问题,根据上传数据文件的大小,需要调节PHP和Nginx相关的参数配置. 配置PHP PHP默认上传文件大小限制为2M,如果超出2M你需要修改PHP配置文件php.ini里面的参数. 复制代码 代码如下: post_max_size = 8M (表单提交的最大限制,此项不是限制上传单

  • 三个思路解决laravel上传文件报错:413 Request Entity Too Large问题

    最近一个项目当中,要求上传图片,并且限制图片大小,虽然在laravel当中已经添加了相关的表单验证来阻止文件过大的上传,然而当提交表单时,还没轮到laravel处理,nginx就先报错了.当你仔细看报错页面时,你会发现有nginx版本信息,经过分析,这报错是因为nginx的默认上传文件大小配置client_max_body_size只有2MB, 基于nginx验证比laravel验证要早,想要友好报错而不是直接显示413 Request Entity Too Large,那么就有三个思路去解决.

  • nginx、Apache、IIS服务器解决 413 Request Entity Too Large问题方法汇总

    一.nginx服务器 nginx出现这个问题的原因是请求实体太长了.一般出现种情况是Post请求时Body内容Post的数据太大了,如上传大文件过大.POST数据比较多. 处理方法 在nginx.conf增加 client_max_body_size的相关设置, 这个值默认是1m,可以增加到8m以增加提高文件大小限制:当然可以设置的更大点. 复制代码 代码如下: # 在http,server或者location段修改下面的配置:# set client body size to 8M #clie

  • 修改Nginx与Apache上传文件大小限制

    修改 Nginx 上传文件最大值限制 我们使用 ngnix 做 web server 的时候,nginx 对上传文件的大小有限制. 这个时候我们要修改 nginx 参数. sudo vim /etc/nginx/nginx.conf #在http段里面添加: client_max_body_size 100m; //举例设置上传最大值为100m 然后重启nginx systemctl restart nginx 修改 Apache 上传文件最大值限制 打开 php.ini, 找到下面的项并修改之

  • Nginx上传文件大小的简单修改方法

    原文链接:https://vien.tech/article/138 前言 用Laravel做了个支持markdown的博客(插个题外话:免费开源.欢迎使用VienBlog),并且支持文件上传功能,然后在上传文件的时候,发现超过1M的文件就上传失败,原因是Nginx限制了上传文件的大小,修改Nginx默认的上传文件大小限制就好了. 方法如下: 我们找到Nginx的配置文件 nginx -t nginx: the configuration file /etc/nginx/nginx.conf s

  • 修改配置解决Nginx服务器中常见的上传与连接错误

    nginx上传错误413 Request Entity Too Large 默认情况下使用nginx反向代理上传超过2MB的文件,会报错413 Request Entity Too Large,解决这个方法很简单,修改配置client_max_body_size值即可 修改nginx.conf #cat /usr/local/nginx-1.7.0/conf/nginx.conf | grep client_max_body_size client_max_body_size 10M; 如果需要

  • 通过修改配置真正解决php文件上传大小限制问题(nginx+php)

    max_execution_time = 300 max_input_time = 600 前面已经介绍过apache+php下如何解决php文件上传大小限制问题.那么对于nginx+php网站,与apache+php下如何解决php文件上传大小限制问题不同的就是nginx本身的限制,限制了客户端上传文件的大小,这里以nginx为例说明nginx+php下如何解决这个问题. 1.nginx配置项修改 修改/usr/local/nginx/conf/nginx.conf 文件,查找 client_

随机推荐