Nginx上传文件大小限制,导致“Filename cannot be empty” 或 413错误

今天遇到一个问题,文件上传一直是正常的,可以部署到生产环境后,发现有时可以,有时报错。根据提示

fopen(): Filename cannot be empty

我猜测可能是文件大小有限制,所以尝试去修改nginx服务器参数。


补充:413错误处理也是同样的

413错误,查看log文件,显示的错误信息是:“413 Request Entity Too Large”

修改nginx.conf

首先,打开nginx主配置文件nginx.conf,找到http{}段,增加client_max_body_size的相关设置, 这个值默认是1m,可以增加到8m以增加提高文件大小限制。

我设置成了8m,

client_max_body_size     8m;

当然你还可以设置其它参数

client_body_buffer_size    128k;
proxy_connect_timeout      600;
proxy_read_timeout         600;
proxy_send_timeout         6000;
proxy_buffer_size          16k;
proxy_buffers              64k;
proxy_busy_buffers_size    64k;
proxy_temp_file_write_size 64k;

修改php.ini

如果运行的是php,还需要修改php.ini,把下面两个值设为更大一些,这个client_max_body_size需要与下列参数的最大值一致或者稍大。

post_max_size = 8M
upload_max_filesize = 8M

重启nginx

1、重启php-fpm

service php5-fpm reload

2、重启nginx

service nginx -s reload


如需转载,请注明出处: https://chadou.me/p/178

最新发布