feat(redcap): REDCap 15.8.0 Docker本地开发环境部署完成

核心成果:
- REDCap 15.8.0成功部署在Docker环境
- 登录功能正常,管理员账户: Admin/Admin123!
- MySQL 8.0 + PHP 8.1 + Apache 2.4环境验证通过

问题解决:
1. 修复ERR_CONTENT_DECODING_FAILED错误
   - 强制禁用Apache deflate模块
   - PHP配置关闭zlib.output_compression
   - 自动注释REDCap源码中的压缩设置

2. 修复Base URL配置错误
   - 更新redcap_config表中的redcap_base_url
   - 统一DocumentRoot与访问路径

3. 修复登录失败问题(CRLF污染)
   - 删除database.php末尾的PHP结束标签
   - 创建.gitattributes规范换行符
   - 验证REDCap官方源码无此问题

技术改进:
- 添加密码重置工具脚本
- 完善docker-entrypoint.sh启动脚本
- 创建详细的部署问题解决记录
- 建立PHP配置文件最佳实践

部署文档:
- REDCap本地Docker开发环境部署方案
- REDCap生产环境部署决策报告(ECS vs SAE)
- 部署问题解决记录(含根因分析)

下一步:
- Day 2: 开发REDCap API Adapter
- 实现与IIT Manager Agent的数据对接
This commit is contained in:
2026-01-02 10:02:46 +08:00
parent dac3cecf78
commit 38d9bf99d6
25 changed files with 3990 additions and 0 deletions

34
redcap-docker-dev/.gitattributes vendored Normal file
View File

@@ -0,0 +1,34 @@
# Git attributes for REDCap Docker deployment
# 确保跨平台一致性防止CRLF/LF问题
# PHP文件统一使用LF换行符Linux标准
*.php text eol=lf
*.inc text eol=lf
# Shell脚本统一使用LF
*.sh text eol=lf
# PowerShell脚本保持CRLFWindows标准
*.ps1 text eol=crlf
# 配置文件统一使用LF
*.conf text eol=lf
*.ini text eol=lf
*.yml text eol=lf
*.yaml text eol=lf
# Markdown和文档
*.md text eol=lf
*.txt text eol=lf
# 二进制文件不做转换
*.png binary
*.jpg binary
*.jpeg binary
*.gif binary
*.ico binary
*.pdf binary
*.zip binary
*.tar binary
*.gz binary