1.nginx和php默认不支持上传过大的文件
- 假如我们要求上传的文件大小为20M,默认配置就不允许上传了。
- 下面我们更改nginx和php配置,设定 上传的限制为20M
Nginx配置更改
- 如果上传文件时超过了nginx限制,就会返回一个“413 Request Entity Too Large”的错误
- 我们只要更改nginx的配置文件“nginx.conf”即可
- 在http{}中添加一个client_max_body_size 20m;配置项;
修改完之后重启nginx或reload配置
PHP配置更改
- 除了nginx对文件大小有要求,php也做了限制
- php配置文件php.ini
- 我们需要修改配置:
- file_uploads = on ;打开文件上传选项
- upload_max_filesize = 20M;文件上传限制
- post_max_size = 20; post上限
还需要根据实际情况调整下面的选项
- max_execution_time = 180; 脚本最大执行时间(秒),过短会导致文件还没上传完脚本就停止了
- max_input_time = 180; 请求最大传输时间,过短会导致文件还没上传完传输就停止了
- memory_limit = 128M; 内存上限
修改完成后重启php-fpm或reload配置
2.如果不知道nginx和php配置文件所在位置,请先用下面的指令查找一下
# locate nginx.conf
# locate php.ini
一般来说,post_max_size设置要比upload_max_filesize稍大一些