51 lines
2.0 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
id: common-faq.upload-stuck.faq
title: 上传卡住进度不动
type: faq
feature: common-faq
scope: end-user
locale: zh
aliases:
- 上传卡住
- 进度条不动
- 一直转圈
- 上传超时
- 上传中断
- 99% 卡死
related_tools: []
related_pages: [file_upload]
prerequisites: []
negative:
- 没有「断点续传」按钮,卡住后只能重新上传整个文件
- 服务端任务排队不可视化(同一用户同目录并发会排队,看着像卡住但其实在等)
- 关浏览器标签会立刻中断当前上传
last_verified: v1.7.90
---
# 上传卡住进度不动
## 问题
拖了文件后进度条停在某个百分比不动,或者一直「上传中…」、转圈,最终超时或自动失败。
## 原因
DooTask 上传卡顿常见于:
1. **网络抖动 / VPN**上行带宽不稳TCP 重传拖累整个请求
2. **同一用户同目录并发**:后端用 atomic lock 排队避免数据库死锁,前一个文件没传完后一个等着
3. **反向代理超时**Nginx 的 `proxy_read_timeout``client_body_timeout` 默认值偏小,超大文件传到尾段断开
4. **磁盘满 / inode 用尽**:服务端写不进文件
5. **PHP 进程超 max_execution_time**CLI / FPM 限制了脚本执行时间
## 解决
1. 先刷新页面、关掉 VPN换稳定网络重试小文件验证链路
2. 多文件同目录上传 → 改为分目录或串行(一次传一个),避免锁排队
3. 上传到 99% 失败大多是反向代理超时 → 让管理员调大 nginx 的 `proxy_read_timeout 600s``client_body_timeout 600s`
4. 服务端 `df -h` 查容量;`df -i` 查 inode满了清 `public/uploads/tmp` 缓存
5.`docker/php/php.ini``max_execution_time``max_input_time` 后重启 PHP 容器
## 不支持
- 客户端不做断点续传,卡断后必须重头传
- 浏览器关闭即上传中断,不会保留到后台继续
如果是聊天发文件卡住:先关掉所有 dootask 标签再重开,会清空前端待发队列。