1 Câu hỏi: Tải lên nhóm AWS s3 trong Laravel 5.8 cho tôi Lỗi Lỗi khi truy xuất thông tin đăng nhập từ máy chủ siêu dữ liệu cá nhân

câu hỏi được tạo ra tại Wed, May 8, 2019 12:00 AM
. bài đăng trên internet liên quan đến vấn đề này, nhưng không ai có thể giúp tôi khắc phục vấn đề của mình. Tôi đang sử dụng Valet trong môi trường địa phương của tôi nếu điều đó có ích. Tôi cũng có Error retrieving credentials from the instance profile metadata server. (cURL error 28: (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)) được cài đặt trong phần phụ thuộc của mình. Tôi nhận được cùng một lỗi khi sử dụng tinker. Cảm ơn bạn.

hệ thống tập tin.php

"league/flysystem-aws-s3-v3": "^1.0",

.env

...
's3' => [
    'driver' => 's3',
    'version' => 'latest',
    'credentials' => array(
        'key' => env('AWS_ACCESS_KEY_ID'),
        'secret' => env('AWS_SECRET_ACCESS_KEY'),
    ),
    'region' => env('AWS_DEFAULT_REGION'),
    'bucket' => env('AWS_BUCKET'),
],
...

PostControll.php

...
    AWS_ACCESS_KEY_ID=ASTRINGOFNUMBERSANDLETTERS
    AWS_SECRET_ACCESS_KEY=anotherstrngofnumbersandletters
    AWS_DEFAULT_REGION=us-west-1
    AWS_BUCKET=bucket-name
...
    
0
1 Câu trả lời                              1                         

Bạn nên kiểm tra phiên bản nào của SDK AWS PHP mà nó thực sự đang sử dụng như thể nó thấp hơn phiên bản 3 tôi tin (không chắc chính xác phiên bản này đã thay đổi điều gì xin lỗi) thì mảng thông tin không bắt buộc và bạn chỉ cần nhập khóa và bí mật trực tiếp theo các giá trị vùng và xô.

ví dụ như thế này:

...
if ($request->has('photo')) {
    // Get image file
    $image = $request->file('photo');
    // Make a image name based on user name and current timestamp
    $name = Str::slug($request->input('user_id')).time();
    // Define folder path
    $folder = '/uploads/posts/' . $user_id . '/';
    // Make a file path where image will be stored [ folder path + file name + file extension]
    $filePath = $folder . $name. '.' . $image->getClientOriginalExtension();
    // Upload image
    $this->uploadOne($image, $folder, 's3', $name);
    // Set user profile image path in database to filePath
    $post->photo = $filePath;
}
...

Bạn cũng nên xem việc sao chép .aws /thông tin đăng nhập vào thư mục chính của máy chủ web dưới dạng thử nghiệm để xem liệu đó có phải là vấn đề về quyền với người dùng www gặp sự cố khi đọc tệp hay không. Không phải là một ý tưởng tốt như một giải pháp lâu dài và tốt nhất bạn nên xem xét việc sử dụng kho tham số để lưu trữ các giá trị và truy cập chúng theo cách đó. Bạn sẽ cần cập nhật các quyền của vai trò để cho phép truy cập cho việc này nhưng đó là cách định cấu hình mọi thứ an toàn hơn nhiều.

    
0
2019-05-08 17: 47: 51Z
  1. Tôi đang sử dụng 3.0. Cập nhật khóa và bí mật không có thông tin xác thực nhưng vẫn gặp lỗi tương tự.
    2019-05-08 17: 45: 50Z
  2. Tôi vừa thêm một số đề xuất khác vào câu trả lời để kiểm tra /thử
    2019-05-08 17: 48: 52Z
  3. Cảm ơn bạn. Tôi sẽ cho nó đi.
    2019-05-08 17: 50: 29Z
  4. bài viết này sẽ giúp bạn bắt đầu nếu bạn đang thử phương thức lưu trữ tham số Medium.com/@khandelwal12nidhi/tựa
    2019-05-08 17: 52: 28Z
...
's3' => [
    'driver' => 's3',
    'version' => 'latest',
    'key' => env('AWS_ACCESS_KEY_ID'),
    'secret' => env('AWS_SECRET_ACCESS_KEY'),
    'region' => env('AWS_DEFAULT_REGION'),
    'bucket' => env('AWS_BUCKET'),
],
...
nguồn đặt đây