传个几 MB 的附件就提示超出大小限制,很多人只改一处,结果还是不行。这三个地方要一起看:
## 1. PHP 配置
`php.ini` 里这两个值:
```ini
upload_max_filesize = 20M
post_max_size = 24M
```
注意 `post_max_size` 要比 `upload_max_filesize` 大。改完重启 PHP-FPM。
## 2. Nginx 配置
```nginx
client_max_body_size 24M;
```
默认只有 1M,超了直接 413。改完 `nginx -s reload`。
## 3. 程序自身的限制
有些论坛程序后台还有附件大小设置,三个地方取最小值生效,一个一个排查就行。
我是用 `php -i | grep upload_max_filesize` 确认配置到底加载了哪个 php.ini,避免改错文件。主楼补充第四个地方:PHP-FPM 的 `request_terminate_timeout` 如果设得很小,大文件上传中途会被杀掉,现象也是上传失败,容易误判成大小限制。