laravel-config-env-storage
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseStorage Config (S3/R2/MinIO/CDN)
存储配置(S3/R2/MinIO/CDN)
Configure storage once; switch providers via env.
只需配置一次存储,即可通过环境变量切换服务提供商。
Env
环境变量
FILESYSTEM_DISK=s3
AWS_ACCESS_KEY_ID=...
AWS_SECRET_ACCESS_KEY=...
AWS_DEFAULT_REGION=auto
AWS_BUCKET=...
AWS_ENDPOINT=https://r2.example.com # for R2/MinIO
AWS_USE_PATH_STYLE_ENDPOINT=true # if required
MEDIA_CDN_URL=https://cdn.example.com # optional CDN/base URLFILESYSTEM_DISK=s3
AWS_ACCESS_KEY_ID=...
AWS_SECRET_ACCESS_KEY=...
AWS_DEFAULT_REGION=auto
AWS_BUCKET=...
AWS_ENDPOINT=https://r2.example.com # for R2/MinIO
AWS_USE_PATH_STYLE_ENDPOINT=true # if required
MEDIA_CDN_URL=https://cdn.example.com # optional CDN/base URLTips
提示
- Prefer pre‑signed URLs for uploads/downloads when possible
- For CDN, prefix public URLs with (app URL generation helper)
MEDIA_CDN_URL - Use path‑style only when necessary; some providers require it
- 尽可能优先使用预签名URL进行上传/下载
- 若使用CDN,为公共URL添加前缀(应用URL生成辅助工具)
MEDIA_CDN_URL - 仅在必要时使用路径式端点,部分服务提供商要求启用该配置
Testing
测试
- Fake storage in unit tests ()
Storage::fake('s3') - Integration tests verify URL formats and ACLs
- 单元测试中可使用模拟存储()
Storage::fake('s3') - 集成测试用于验证URL格式和ACLs