Laravel s3 文件系统驱动程序未使用 AWS_URL 变量
Laravel s3 filesystem driver not using AWS_URL variable
我正在尝试将文件上传到 s3 兼容对象存储(我正在使用 Minio),但是 laravel 中的 aws 客户端不使用我在我的 . env AWS_URL 变量。
AWS_URL=http://192.168.1.22:9000
我正在使用 artisan 内置服务器,我已经尝试清除配置缓存。
我当前的代码是:
$request->videoFile->store('videoFiles', 's3');
我收到一条错误消息,显示 laravel 正在尝试连接到错误的 url。
Error executing "PutObject" on "https://myawesomebucket.s3.amazonaws.com/videoFiles/bs20uHPxkprbG6fC6e1B6pHtBiQxwgTmrrDdGP2e.mp4";
我有时遇到 env 文件的问题。我不确定这里是否有足够的信息来回答你的问题,但我会从 dd(AWS_URL) 开始,看看那里实际出现了什么。也许在
周围加上引号
AWS_URL="http://192.168.1.22:9000"
如果这不起作用,我已将内容添加到配置文件中:
'url' => 'http://192.168.1.22:9000'
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'),
],
虽然这似乎在某一时刻对 minio 有效,但 url
属性 现在似乎完全被忽略了。
这是一个修改后的配置,适用于 minio 和 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'),
// the below 'endpoint' url is actually used:
'endpoint' => env('AWS_URL'),
// prevent bucket name from being added to the hostname:
'bucket_endpoint' => false,
// use older urls:
'use_path_style_endpoint' => true,
],
我参考了这些指南来查找此信息:
我正在尝试将文件上传到 s3 兼容对象存储(我正在使用 Minio),但是 laravel 中的 aws 客户端不使用我在我的 . env AWS_URL 变量。
AWS_URL=http://192.168.1.22:9000
我正在使用 artisan 内置服务器,我已经尝试清除配置缓存。
我当前的代码是:
$request->videoFile->store('videoFiles', 's3');
我收到一条错误消息,显示 laravel 正在尝试连接到错误的 url。
Error executing "PutObject" on "https://myawesomebucket.s3.amazonaws.com/videoFiles/bs20uHPxkprbG6fC6e1B6pHtBiQxwgTmrrDdGP2e.mp4";
我有时遇到 env 文件的问题。我不确定这里是否有足够的信息来回答你的问题,但我会从 dd(AWS_URL) 开始,看看那里实际出现了什么。也许在
周围加上引号AWS_URL="http://192.168.1.22:9000"
如果这不起作用,我已将内容添加到配置文件中:
'url' => 'http://192.168.1.22:9000'
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'),
],
虽然这似乎在某一时刻对 minio 有效,但 url
属性 现在似乎完全被忽略了。
这是一个修改后的配置,适用于 minio 和 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'),
// the below 'endpoint' url is actually used:
'endpoint' => env('AWS_URL'),
// prevent bucket name from being added to the hostname:
'bucket_endpoint' => false,
// use older urls:
'use_path_style_endpoint' => true,
],
我参考了这些指南来查找此信息: