413请求实体太大 - 文件上载问题

Raj*_*was 66 php apache2 nginx

我试图在我的服务器上上传30MB文件,它无法正常工作.

  1. 当我上传30MB文件时,页面加载" 找不到页面 "

  2. 当我上传一个3MB的文件时,我收到了" 413请求实体太大 "的nginx/0.6.32

我试图找到nginx所以我可以增加" client_max_body_size ",但我无法找到我的服务器上安装的nginx.我甚至试过跑:

vi /etc/nginx/nginx.conf
Run Code Online (Sandbox Code Playgroud)

要么

vi /usr/local/nginx/conf/nginx.conf
Run Code Online (Sandbox Code Playgroud)

检查配置文件是否存在,但我无法在我的服务器上找到它.

无论如何要解决这个问题?或者我必须在我的服务器上安装nginx.

编辑:

我在php.ini文件中做了所有必要的更改,

post_max_size 128M
upload_max_filesize 100M
memory_limit 256M
Run Code Online (Sandbox Code Playgroud)

谢谢,Raju

小智 88

资料来源:http: //www.cyberciti.biz/faq/linux-unix-bsd-nginx-413-request-entity-too-large/

编辑nginx的conf文件:

nano /etc/nginx/nginx.conf
Run Code Online (Sandbox Code Playgroud)

在http部分添加一行:

http {
    client_max_body_size 100M;
}
Run Code Online (Sandbox Code Playgroud)

不要使用MB它不会工作,只有M!

另外别忘了重启nginx

systemctl restart nginx
Run Code Online (Sandbox Code Playgroud)

  • 当我这样做时,我的 413 变成了 404。我在 EC2 上使用 Amazon Linux。nginx 文档还显示了一个小写的“m”。http://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size (2认同)

小智 36

-in php.ini(在/etc/php.ini中)

 max_input_time = 24000
 max_execution_time = 24000
 upload_max_filesize = 12000M
 post_max_size = 24000M
 memory_limit = 12000M
Run Code Online (Sandbox Code Playgroud)

-in nginx.conf(在/ opt/nginx/conf中)

client_max_body_size 24000M
Run Code Online (Sandbox Code Playgroud)

它为我的案子工作


alb*_*rus 21

sudo nano /etc/nginx/nginx.conf

Run Code Online (Sandbox Code Playgroud)

然后在http部分添加一行

http {
    client_max_body_size 100M;
}

Run Code Online (Sandbox Code Playgroud)

不要只使用 MB M。

systemctl restart nginx
Run Code Online (Sandbox Code Playgroud)

然后为php位置

sudo gedit /etc/php5/fpm/php.ini
Run Code Online (Sandbox Code Playgroud)

现在最大使用 php 7.0 或更高版本

sudo nano /etc/php/7.2/fpm/php.ini     //7.3,7.2 or 7.1 which php you use
Run Code Online (Sandbox Code Playgroud)

检查那些增加你的愿望。

memory_limit = 128M 
post_max_size = 20M  
upload_max_filesize = 10M
Run Code Online (Sandbox Code Playgroud)

重启 php-fpm

service php-fpm restart 
Run Code Online (Sandbox Code Playgroud)


San*_*lla 12

首先编辑Nginx配置文件(nginx.conf)

地点: sudo nano /etc/nginx/nginx.conf

添加以下代码:

http {
        client_max_body_size 100M;
}
Run Code Online (Sandbox Code Playgroud)

然后在PHP配置文件中添加以下行(php.ini)

地点: sudo gedit /etc/php5/fpm/php.ini

添加以下代码:

memory_limit = 128M 
post_max_size = 20M  
upload_max_filesize = 10M
Run Code Online (Sandbox Code Playgroud)


Eva*_*van 11

我将更改直接添加到我的虚拟主机而不是 nginx 的全局配置,如下所示:

   server {
     client_max_body_size 100M;
     ...
   }
Run Code Online (Sandbox Code Playgroud)

然后我更改了 php.ini 中的参数,就像上面的评论一样:

   max_input_time = 24000
   max_execution_time = 24000
   upload_max_filesize = 12000M
   post_max_size = 24000M
   memory_limit = 12000M
Run Code Online (Sandbox Code Playgroud)

而你不能忘记的是重启nginx和php-fpm,在centos 7中是这样的:

  systemctl restart nginx
  systemctl restart php-fpm
Run Code Online (Sandbox Code Playgroud)


Cag*_*das 7

请输入domain nginx文件:

nano /etc/nginx/sites-available/domain.set
Run Code Online (Sandbox Code Playgroud)

添加到文件中此代码

client_max_body_size 24000M;
Run Code Online (Sandbox Code Playgroud)

如果出现错误,请使用此命令

nginx -t
Run Code Online (Sandbox Code Playgroud)


小智 5

假设您在 php.ini 文件中进行了必要的更改:

您可以通过在位于以下路径的 nginx.conf 文件中添加以下行来解决该问题:

/etc/nginx/nginx.conf
Run Code Online (Sandbox Code Playgroud)

然后使用 vim 文本编辑器编辑文件,如下所示:

vi /etc/nginx/nginx.conf
Run Code Online (Sandbox Code Playgroud)

并添加具有足够大值的 client_max_body_size,例如:

client_max_body_size 20MB;
Run Code Online (Sandbox Code Playgroud)

之后,请确保您保存使用:xi:wq

然后重启你的nginx。

就是这样。

为我工作,希望这有帮助。


Hir*_*ghi 5

我遇到了同样的错误并通过以下步骤修复了它。

  1. 首先,编辑 nginx.conf 文件。

    vi /etc/nginx/nginx.conf

在 HTTP 部分,添加了以下行。

http {

    client_max_body_size 100M;
}
Run Code Online (Sandbox Code Playgroud)
  1. 最后使用以下命令重新启动 Nginx。

systemctl restart nginx