# **REDCap ERR\_CONTENT\_DECODING\_FAILED 错误排查与修复指南** 如果在浏览器访问 REDCap 时遇到 net::ERR\_CONTENT\_DECODING\_FAILED 200 (OK),说明数据包在传输过程中被“弄脏”了。以下是按优先级排序的 4 种解决方案: ## **1\. 禁用 PHP 的 zlib 输出压缩 (最常见原因)** REDCap 内部有时会尝试自己控制输出压缩,如果你的 php.ini 里也开启了 zlib.output\_compression,两者冲突就会导致解码失败。 **操作步骤:** 1. 找到你挂载到 Docker 容器里的 php.ini 文件。 2. 搜索 zlib.output\_compression。 3. 将其设置为 Off: zlib.output\_compression \= Off 4. **重启 Docker 容器**:docker-compose restart redcap-web。 ## **2\. 检查并清理 PHP 文件的 BOM 头** 如果你编辑过 database.php 或 config.php,并使用了 Windows 记事本,可能会在文件开头插入一个不可见的 **UTF-8 BOM** 字符。这个字符会抢在 Gzip 报文头之前发送,导致浏览器解压失败。 **操作步骤:** 1. 使用 VS Code 或 Notepad++ 打开 database.php。 2. 检查右下角的编码格式。如果是 UTF-8 with BOM,请将其更改为 **UTF-8** (无 BOM)。 3. 确保 \