上传大文件报错别只改PHP,Nginx的限制没改,传4M的图还是413错误
新手做上传功能,用户传个5M的图片直接报错,改了PHP的上传限制还是不行,折腾半天是Nginx的限制没改,其实上传大小限制要同时改两个地方,少一个都不行。第一,先改php.ini里的upload_max_filesize和post_max_size,把这两个值改成20M,别只改upload_max_filesize,post_max_size是整个POST请求的大小,太小的话,请求直接被截断;第二,改Nginx配置里的client_max_body_size,默认是1M,就算PHP改了,Nginx还是会在请求传到PHP之前就返回413错误,把这个值也改成20M;第三,改完PHP和Nginx都要重启,不然配置不生效,你改完还是旧的,上传还是报错;第四,上传的目录权限设成755,别设成777,Nginx会拒绝777目录的写入,用户传文件的时候直接提示目录不可写。
我之前做上传功能,只改了PHP的限制,Nginx的client_max_body_size没动,用户传4M的图直接报413,把Nginx的限制也改成20M,立刻就传成功了。很多新手遇到上传报错,只改PHP的配置,忘了Nginx的限制,来回折腾半天。真的,上传大小限制要同时改PHP和Nginx,两个地方都设对,重启之后大文件才能正常传。
本站源码来源于网络收集修改或者交换,甚至可能并非原创,如遇未经考证信息需持审慎态度。若有疑问,可联系本站处理。
0