15722

今天在博客文章中想上传一个MP3文件但是总是上传失败,就只会提示一个http错误。

文件上传失败最有可能的就是被限制了上传大小,还有一种就是限制了上传格式。前者比较多一点,后面的限制格式至少一般的安全文件都不会限制比如图片、音频等。那么很有可能就是文件上传被限制了,找到问题开始去解决。修改php.ini文件 把上传文件的大小限制调高。

注意需要修改两个地方


upload_max_filesize= 20M //这个是文件上传大小限制

post_max_size=20M //这个是post请求大小限制

下面是我的php配置文件  可以看到max_file_uploads 和post_max_size 都被我设置为20M了

nginx WordPress上传文件失败解决办法 nginx限制文件上传大小的图片 1

 

WordPress上传界面也是显示上传大小限制为20M

但是我想告诉你的是还是上传失败。

后面我查看了服务器的错误访问信息


2015/01/16 22:06:00 [error] 4520#0: *37 client intended to send too large body: 3741683 bytes, client: 112.124.214.5, server: luozhengrong.com, request: "POST /wp-admin/async-upload.php HTTP/1.1", host: "www.luozhengrong.com", referrer: "https://www.luozhengrong.com/wp-admin/post.php?post=234&action=edit"

从错误信息中知道错误的原因是client intended to send too large body 翻译过来就是【客户端发送过大的body】

经过各种搜索得知 nginx服务器默认允许客户端请求正文的最大长度为1M 是不是感觉很无语,php配置文件配了半天居然发现现在的上传限制为1M 因为平时都是上传一点图片,而且一般图片外面都会处理过,所以都会小于1M 。所以很难发现这个问题。

现在知道了问题的真正所在那么来修改它的配置。

找到你的网站的nginx配置文件加入下面两个配置参数


client_max_body_size 20m;
client_body_timeout 120;

client_max_body_size 是设置nginx服务器允许的上传文件大小,client_body_timeout 设置了超时时间如果文件太大或者网速太慢上传时间过长也是会上传失败。限制的时间就是client_body_timeout 。加入参数之后记得保存。最后不要忘记重启nginx

nginx WordPress上传文件失败解决办法 nginx限制文件上传大小的图片 2

 

nginx WordPress上传文件失败解决办法 nginx限制文件上传大小的图片 3

 

还有一些其他的参数设置 可以自己去nginx网站看  点击直达官方nginx 说明

 

 

转载原创文章请注明,转载自: 罗正荣个人博客 » nginx WordPress上传文件失败解决办法 nginx限制文件上传大小

3条评论

Loading...

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  1. Everytime Britney Spears 3:53