php - Laravel 存储文件系统和 Amazon S3 出现 CredentialsException

标签 php laravel amazon-web-services curl amazon-s3

我正在尝试使用 Filesystem ,用 Laravel 5.1 实现 league/flysystem-aws-s3-v3。但我可以从 S3 获取文件。

所以,我编码如下:

$s3 = Storage::disk('s3');
$imageName = Employee::filePath() . $employee->id . '.pdf';

if (Storage::disk('s3')->exists($imageName)) {
    return response()->download(Storage::disk('s3')->get($imageName));
}

然后我收到以下错误:

CredentialsException in InstanceProfileProvider.php line 79: Error retrieving credentials from the instance profile metadata server. (cURL error 28: Connection timed out after 1001 milliseconds (see http://curl.haxx.se/libcurl/c/libcurl-errors.html))

凭据在 config/filesystems.php 上设置,我知道很好,因为我可以将文件放在那里。

你有什么想法吗?

提前致谢。

最佳答案

问题出在我的配置上,我尝试使用 env 进行设置,但是由于某种原因在配置时没有加载,所以我决定直接放在配置文件 filesystems.php 上

's3' => [
            'driver' => 's3',
            'key'    => 'XXXXXXXXXX',
            'secret' => 'XXXXXXXXXX',
            'region' => env('S3_REGION'),
            'bucket' => env('S3_BUCKET'),
        ],

关于php - Laravel 存储文件系统和 Amazon S3 出现 CredentialsException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46512904/

相关文章:

php - 如何在静态类中模拟 __destruct()?

php - Wordpress: move 媒体文件夹

javascript - 使用 Laravel 将 HTML 生成为 PDF,并将生成的 PDF 上传到数据库?

laravel - 检查输入是否来自控制台

javascript - jquery删除文件夹中的图像文件而不使用php或ajax

amazon-web-services - nosql/dynamodb 哈希和范围用例

php - 无法模拟 HTTP 302 响应

php - cron 作业很昂贵吗?或者他们基本上是访问?

amazon-web-services - cloudfront 不支持自定义来源的 CORS 吗?

amazon-web-services - AWS Cloudformation !Ref SecurityGroup 返回无效 ID