先唠唠为啥我会对「宝塔大文件上传失败修复」这事儿门儿清
说出来不怕你们笑,上个月我搞那个破个人网盘站扩容——就为了存闺蜜婚礼上拍的50G原相机素材剪vlog发朋友圈装逼,结果连个8G的压缩包都传不上去!刚开始以为是宽带抽风,蹲楼下跟物业小哥掰扯了半小时光纤入户带宽够不够(小哥说你家路由器在鞋盒上面信号满格天花板顶都飘包了),回来换了四个浏览器重启了八次服务器,甚至差点给宝塔后台充个年费会员求放过,最后折腾到凌晨三点才解决。
今天把这「宝塔大文件上传失败修复」的破事儿掰开揉碎了给你们唠,全是踩出来的土坑经验,没有啥看不懂的天书代码,跟着做就行,要是还没搞定你们来我评论区骂我(骂轻点我玻璃心)。
第一步:先给你的「宝塔服务器餐厅」做个体检——看看上传食材(大文件)的门槛有多高
很多人以为「宝塔大文件上传失败修复」就是改个小开关,错错错!这就像你带了50斤龙虾去自助餐厅,人家不让进可能不是龙虾坏了,是人家餐厅规定最多带2斤水果拼盘(PHP/网站服务器配置上传限制),或者门口保安室传送带太短太窄塞不下(Nginx/Apache的配置问题),甚至餐厅后厨冰箱插头松了接不住电(服务器磁盘空间满了/权限不够)!
咱先从门槛最低的冰箱电源查起,再查传送带,最后查餐厅老板定的规矩——这个顺序千万别搞反,搞反了你就等着像我一样充完年费才发现插头没插紧!
体检第一站:餐厅后厨冰箱够不够装、能不能开门——磁盘空间/权限排查
这一步属于「宝塔大文件上传失败修复」里最最最简单的环节,傻子都能看明白!
- 检查冰箱有没有塞满(磁盘空间/分区挂载):打开你家宝塔后台,直接看首页右下角的「磁盘使用情况」,要是红的占满80%以上甚至99%,那别想了,赶紧清垃圾!比如旧版本的备份文件、没用的网站缓存、之前测试上传失败卡在临时文件夹的碎片食材(哦不对碎片文件)——临时文件夹一般在/tmp或者你网站根目录下的tmp,删的时候小心别删错重要文件!
- 检查冰箱门能不能推开(文件权限):要是磁盘够的话,再看看你要上传到的那个文件夹的权限——打开宝塔的「文件」功能,找到目标文件夹,右键点「权限」,改成755或者777(临时改成777传完赶紧改回755哈,777相当于给整个小区开后门随便进你家偷龙虾!太危险)!
要是这两项都没问题,那大概率就是传送带和老板规矩的事儿了,重头戏来了!
第二步:给你的「保安室传送带」换个宽点的——Nginx/Apache配置大改(哦不对微调微调)
咱大部分人用的都是Nginx吧?毕竟宝塔默认推荐这个,运行起来比Apache稳,就像顺丰传送带比中通韵达(不是黑不是黑)宽点稳点!咱先讲Nginx的「宝塔大文件上传失败修复」方法,Apache的放后面提一嘴,反正原理都差不多。
重头戏Nginx:三步换宽传送带
我第一次换的时候差点把保安室拆了(改坏了Nginx配置重启不了),后来跟着B站一个UP主学的——不对不对是跟着宝塔官方论坛一个踩过坑的老哥学的,靠谱!
- 打开宝塔后台的「软件商店」:找到你装的Nginx,点后面的「设置」,别点卸载别点卸载!
- 修改「配置修改」里的关键参数:
进去之后直接拉到最上面或者搜关键词,找到下面这三个参数,把它们改大:
- client_max_body_size:这个参数是限制上传单份食材(单文件)大小的,默认一般是1M或者2M——我的天,1M连个清晰的表情包都存不下更别说50G原相机了!改成你要传的最大文件的两倍就行,比如你传50G的话,就改成100G——对了格式要对哈,要加单位G或者M,比如`client_max_body_size 100G;`(注意分号别丢!丢了分号Nginx直接罢工!)
- client_body_timeout:这个参数是限制保安室收食材的时间的,默认一般是60秒——传50G的话60秒连个虾尾都塞不完!改成3600秒也就是1小时,要是你网速慢可以改成7200秒2小时,比如`client_body_timeout 3600s;`(s是秒的单位,可加可不加但加上更稳)
- client_header_timeout:这个参数是限制保安室看食材标签的时间的,默认一般是60秒——这个不用改太大,改成300秒5分钟足够了,比如`client_header_timeout 300s;`
改完之后记得点「保存」!保存!保存!重要的事情说三遍!
- 重启Nginx保安室:点设置界面的「服务」,然后点「重载配置」或者「重启」——重载配置更快,不用等太久,就像给保安室换个传送带开关不用拆整个保安室!
附赠Apache的「保安室传送带」微调方法

用Apache的小伙伴别慌,原理和Nginx差不多,就是换了个保安队长(哦不对配置文件):
- 打开宝塔后台的「软件商店」:找到你装的Apache,点后面的「设置」。
- 修改「配置修改」或者「.htaccess」文件:
如果是修改主配置文件的话,搜关键词找到下面这两个参数:
- LimitRequestBody:这个和Nginx的client_max_body_size一样,限制单文件大小,改成100G就行,格式是`LimitRequestBody 107374182400`(对了Apache要用字节数!1G=1024M=1048576KB=1073741824字节,100G就是107374182400字节!别写错数字!)
- Timeout:这个和Nginx的client_body_timeout差不多,改成3600秒就行,格式是`Timeout 3600`。
如果不想改主配置文件怕搞坏,也可以直接在你要上传的网站根目录下建一个`.htaccess`文件,把下面这段代码放进去:
php_value upload_max_filesize 100G
php_value post_max_size 100G
php_value max_execution_time 3600
php_value max_input_time 3600
LimitRequestBody 107374182400
对哦这段代码顺便把PHP的参数也改了!一举两得!
- 重启Apache保安室:同样点「服务」里的「重载配置」或者「重启」。
第三步:给你的「餐厅老板」松松口——PHP配置微调(这个才是终极BOSS!)
很多人改完Nginx/Apache之后还是传不上去,为啥?因为还有餐厅老板(PHP)定的规矩——老板说我后厨锅小最多炒2斤菜,你就算传送带能运50斤进来也没用!所以「宝塔大文件上传失败修复」的最后一步必须改PHP的配置!
三步搞定餐厅老板PHP
这个也超级简单,跟着踩过坑的我走绝对没问题!
- 打开宝塔后台的「软件商店」:找到你装的PHP版本(比如PHP7.4、PHP8.1),点后面的「设置」。
- 修改「配置修改」里的四个终极BOSS参数:
进去之后直接搜关键词,找到下面这四个参数,把它们改大:
- upload_max_filesize:这个是限制单份菜品(单文件)上传大小的,改成100G,格式是`upload_max_filesize = 100G`。
- post_max_size:这个是限制一桌子菜(整个表单提交的大小)的,必须比upload_max_filesize大!比如改成105G,格式是`post_max_size = 105G`。
- max_execution_time:这个是限制后厨炒菜的时间的,默认一般是30秒——炒50斤龙虾30秒连火都没烧旺!改成3600秒1小时,格式是`max_execution_time = 3600`。
- max_input_time:这个是限制后厨备菜的时间的,默认一般是60秒——改成3600秒1小时,格式是`max_input_time = 3600`。
- memory_limit:这个是限制后厨锅的容量的,默认一般是128M——炒50斤龙虾至少要用512M的锅吧?要是内存够可以改成2G或者4G,格式是`memory_limit = 2G`。
改完之后记得点「保存」!保存!保存!重要的事情再说三遍!
- 重启PHP后厨:点设置界面的「服务」,然后点「重载配置」或者「重启」——重载配置更快!
第四步:终极验证——赶紧传个大文件试试「宝塔大文件上传失败修复」有没有成功!
改完上面所有的东西之后,别着急去传50G的龙虾,先传个1G或者2G的小视频试试水——要是小视频传上去了,那恭喜你!「宝塔大文件上传失败修复」成功了!要是还没传上去,那咱再唠唠:
- 是不是宽带真的抽风了?蹲楼下跟物业小哥再确认一下?或者用手机开个热点试试?
- 是不是浏览器缓存太多了?清一下缓存换个无痕模式试试?
- 是不是你传的文件本身有问题?比如文件损坏了?换个文件试试?
- 是不是你用的上传工具不对?别用浏览器自带的上传工具了,用宝塔的「文件」功能里的「远程下载」或者「拖拽上传」,或者用FTP工具(比如FileZilla)试试——FTP工具更稳!
最后给你们灌一碗土味正能量鸡汤——坚持就是胜利!
其实不管是「宝塔大文件上传失败修复」,还是生活中的其他事儿,遇到困难别慌别着急,先冷静下来排查原因,一步一步来,总能解决的!就像我之前传不上去50G原相机素材的时候,差点放弃,结果最后还是成功了,现在闺蜜婚礼的vlog已经剪好了,发朋友圈之后获赞无数,连之前拉黑我的初中男神都给我点赞评论了!(哦不对初中男神好像没拉黑我,是我不好意思加他)
好了,今天的「宝塔大文件上传失败修复」就唠到这里了,要是还有什么问题,欢迎来我评论区留言,我看到了一定会回复的!要是觉得这篇文章对你有帮助,别忘了点赞收藏转发三连哦!爱你们么么哒!