laravel-config-env-storage

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Storage 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 URL
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 URL

Tips

提示

  • Prefer pre‑signed URLs for uploads/downloads when possible
  • For CDN, prefix public URLs with
    MEDIA_CDN_URL
    (app URL generation helper)
  • Use path‑style only when necessary; some providers require it
  • 尽可能优先使用预签名URL进行上传/下载
  • 若使用CDN,为公共URL添加
    MEDIA_CDN_URL
    前缀(应用URL生成辅助工具)
  • 仅在必要时使用路径式端点,部分服务提供商要求启用该配置

Testing

测试

  • Fake storage in unit tests (
    Storage::fake('s3')
    )
  • Integration tests verify URL formats and ACLs
  • 单元测试中可使用模拟存储(
    Storage::fake('s3')
  • 集成测试用于验证URL格式和ACLs