问题:在后台上传8M大小的图片,上传不成功

 

nginx返回413,如下图所示:

分析:nginx配置文件或者php中,可上传的大小设置太小了

 

解决办法------检查nginx和php的配置文件里面的参数设置,如果不满足8M,就稍微改大点或者压缩图片在指定范围

一.找到php.ini

vim /usr/local/php/etc/php.ini      #  查看下这几个参数的大小

post_max_size = 10M  
upload_max_filesize = 10M  
max_execution_time=90  

参数解释:

1、post_max_size:指定POST数据所允许的最大大小

2、upload_max_filesize:表示上传文件的最大大小

3、max_execution_time:上传文件是需要时间的,这个值是php的默认超时时间,如果为0则不超时(建议不要这么设置),超时时间到的话文件还没有上传完成,则也会上传失败的,因此在修改上传文件大小限制的时候,也适当的调整一下这个参数,否则任然会上传失败的。

一般来说,post_max_size要设置的比upload_max_filesize稍大一点。

 

二.找到nginx.conf

/usr/local/nginx/conf/nginx.conf

  • client_max_body_size 10m;  

这行配置出现在http模块下,如果没有就新增这条,后面的10m就是指定最大支持10M大小的文件。

 

三.重启nginx和php-fpm

supervisorctl restart nginx php    #根据自己的启动方式重启nginx或者php,我这里是使用supervisord管理的,所以我这样启动