You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Laravel 8配置AWS S3文件系统出现的cURL error 3错误

问题根因

你遇到的cURL error 3本质是请求的S3资源地址格式不合法,缺少http/https协议头,核心是配置参数赋值位置错误:

  • bucket参数仅支持填写纯桶名,你把带域名后缀的完整地址填入bucket参数,会导致框架拼接请求地址时逻辑混乱
  • Laravel 8新增的url/endpoint参数未正确配置,导致生成的资源地址缺少协议头

正确配置方案

1. 修改config/filesystems.php中的s3配置段

's3' => [
    'driver' => 's3',
    'key' => env('AWS_ACCESS_KEY_ID'),
    'secret' => env('AWS_SECRET_ACCESS_KEY'),
    'region' => env('AWS_DEFAULT_REGION'),
    'bucket' => env('AWS_BUCKET'),
    'url' => env('AWS_URL'),
    'endpoint' => env('AWS_ENDPOINT'),
    // 非AWS原生S3兼容存储(如Minio、阿里云OSS兼容模式)建议开启路径式寻址
    'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false),
],

2. 对应修改.env配置文件

# bucket仅填纯桶名
AWS_BUCKET=example-uploads-int-s3-bucket
# url填写完整带https协议的桶访问域名
AWS_URL=https://example-uploads-int-s3-bucket.s3.amazonaws.com
# 其余参数按实际权限信息填写即可
AWS_ACCESS_KEY_ID=你的AWS访问密钥ID
AWS_SECRET_ACCESS_KEY=你的AWS访问密钥
AWS_DEFAULT_REGION=你的S3桶所在区域,比如us-east-1
# AWS原生S3无需填写endpoint,第三方兼容存储才需要配置
# AWS_ENDPOINT=
# AWS_USE_PATH_STYLE_ENDPOINT=false

3. 生效配置

修改完后执行配置缓存清理命令确保新配置生效:
php artisan config:clear


内容的提问来源于stack exchange,提问作者user1015214

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 00:24:04