概述
Nextcloud 中对文件进行修改、删除操作会失败。网页端显示错误,客户端显示返回 HTTP 423 (Locked) 状态码。
HTTP 423 状态码并未定义在 HTTP 标准中。其定义在 RFC 4918 中作为 HTTP 协议的一个扩展。
系统环境
宿主机
- OS:Ubuntu 20.04
- Server:nginx-1.21.0
- MySQL:8.0.25
- Nextcloud:21.0.0
Docker
- php:8.07-fpm-alpine3.13
解决方法
临时解决
- 开启维护模式,详见官方文档。
- 清空数据库中的表
oc_file_locks。不是删除表! - 关闭维护模式。
- 确保你的后台任务能够正常执行,后台任务在「设置 -> 基本设置」中查看。
一劳永逸
- 如果你可以控制 Nextcloud 所在服务器,建议为 Nextcloud 配置 Redis 缓存。配置方法见官方文档。
- 如果你不能为 Nextcloud 配置 Redis 缓存,你可以关闭文件锁定。修改
config/config.php文件,写入'filelocking.enabled' => false。
关闭文件锁定可能会导致并发状态下对文件的操作出错,比如造成文件内容混乱或损坏。
参考资料
File is locked - how to unlock – 📑 How to – Nextcloud community