【问题标题】:Lumen 8.x filesystem not working. Error: Class 'League\Flysystem\AwsS3v3\AwsS3Adapter' not foundLumen 8.x 文件系统不工作。错误:找不到类“League\Flysystem\AwsS3v3\AwsS3Adapter”
【发布时间】:2021-04-16 05:07:05
【问题描述】:

我已经安装了这两个包

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

app/bootstrap.php文件中添加了这些代码

   $app->singleton('filesystem', function ($app) {
      return $app->loadComponent(
          'filesystems',
           Illuminate\Filesystem\FilesystemServiceProvider::class,
           'filesystem'
        );
   });

  $app->register(Illuminate\Filesystem\FilesystemServiceProvider::class);

还注册了配置文件filesystems.php

$app->configure('filesystems');

spaces 配置在filesystems.php

'spaces' => [
  'driver' => 's3',
  'key' => env('DO_SPACES_KEY'),
  'secret' => env('DO_SPACES_SECRET'),
  'endpoint' => env('DO_SPACES_ENDPOINT'),
  'region' => env('DO_SPACES_REGION'),
  'bucket' => env('DO_SPACES_BUCKET'),
 ]

我想从存储中读取文件

$file = Storage::disk('spaces')->get($existing_path);

现在我收到此错误

【问题讨论】:

标签: php laravel amazon-s3 filesystems lumen


【解决方案1】:

来自这个answer: 从 composer.json 中删除了 "aws/aws-sdk-php": "3.0""league/flysystem-aws-s3-v3": "~1.0", "league/flysystem-cached-adapter": "1.0",

然后运行composer require league/flysystem-aws-s3-v3

【讨论】:

  • 这是我的 composer.json: ... "require": { "php": "^7.3|^8.0", "flipbox/lumen-generator": "^8.2", "laravel /lumen-framework": "^8.0", "league/flysystem-aws-s3-v3": "^2.0" }, ... 但它不起作用
  • 你得到什么错误?你在哪个版本的 PHP 上运行?可以把所有的composer.json都放上去吗?
  • 原来是因为我设置了 "league/flysystem-aws-s3-v3": "^2.0" 而不是 "league/flysystem-aws-s3-v3": "~1.0"
猜你喜欢
  • 2020-09-02
  • 2020-09-02
  • 2018-01-19
  • 2021-05-11
  • 2022-01-10
  • 2021-01-19
  • 1970-01-01
  • 2022-10-24
  • 1970-01-01
相关资源
最近更新 更多