用恢复插件上传备份包,进度条走到 8% 就停住,页面提示 The uploaded file exceeds the upload_max_filesize directive,包是 180MB。日志里能对上时间点,这种反而好排。
PHP 默认 upload_max_filesize 是 2M、post_max_size 是 8M,插件走普通上传,超过就直接被拒。Nginx 的 client_max_body_size 还会再拦一层。这一点先确认清楚,后面就不用反复试。
upload_max_filesize = 256M post_max_size = 256M client_max_body_size 256m;
围绕「恢复上传大小限制」排查时,命令行跑一遍比在面板里点十次有用,面板会替你做掉不少隐式操作。线上出问题先对时间点,跟发布、备份、任务执行的时刻排一排,能省掉一半功夫。
日志级别临时调高可以,记得改回去,长期开着既占磁盘又掩盖真问题。权限不要一口气开到最大,先加到够用再往上试,范围小才好收。
把复现步骤压到三条以内,交给同事也能跑出来,才算真的定位清楚。改动写完就同步给同事,下一个人踩同一个坑,成本还是你的。
处理上按这个顺序:先改 php.ini 的 upload_max_filesize 和 post_max_size 到 256M;同步改 Nginx 的 client_max_body_size 两层都要放;重启 php-fpm 和 Nginx 后用 phpinfo 确认生效。
结果对不对很好判断,同一个 180MB 的包能上传到 100%,恢复流程正常开始。
