Sar*_*oma 3 amazon-s3 symfony liipimaginebundle flysystem
我一直在尝试配置 CDN (S3) 以与 LiipImagineBundle 配合使用,但当它请求不存在的服务时,我总是陷入困境。
这是什么意思?
filesystem_service 属性的值必须是返回 League\Flysystem\Filesystem 实例的服务。
从这里:http ://symfony.com/doc/current/bundles/LiipImagineBundle/cache-resolver/flysystem.html
在这里:http ://symfony.com/doc/current/bundles/LiipImagineBundle/data-loader/flysystem.html
我尝试创建一个返回 League\Flysystem\Filesystem 实例的服务,如下所示:
league.flysystem.s3adaptor:
class: League\Flysystem\AwsS3v3\AwsS3Adapter
arguments: ['@acme.s3_client', '%amazon.s3.bucket%', 's3_fs', '@?']
league.flysystem.filesystem:
class: League\Flysystem\Filesystem
arguments: ['@league.flysystem.s3adaptor', '@?']
calls:
- [addPlugin, ['@oneup_flysystem.plugin.list_with']]
Run Code Online (Sandbox Code Playgroud)
我不确定这是否正确,但我无法让它工作。
任何帮助或建议将不胜感激。
我的思路是正确的,我只是稍微错误地配置了我的 LiipImagineBundle。
要返回 League\Flysystem\Filesystem 的实例,您首先需要为要使用的适配器创建一个服务,在本例中 league.flysystem.s3adaptor 就是这样做的。然后将其作为参数传递给 league.flysystem.filesystem。
league.flysystem.s3adaptor:
class: League\Flysystem\AwsS3v3\AwsS3Adapter
arguments: ['@acme.s3_client', '%amazon.s3.bucket%']
league.flysystem.filesystem:
class: League\Flysystem\Filesystem
arguments: ['@league.flysystem.s3adaptor']
calls:
- [addPlugin, ['@oneup_flysystem.plugin.list_with']]
Run Code Online (Sandbox Code Playgroud)
LiipImagineBundle 配置:
liip_imagine:
resolvers:
profile_photos:
flysystem:
filesystem_service: league.flysystem.filesystem
root_url: "https://s3.eu-west-2.amazonaws.com/nameofthebucket/"
cache_prefix: media/cache
visibility: public
loaders:
profile_photos:
flysystem:
filesystem_service: league.flysystem.filesystem
data_loader: profile_photos
cache: profile_photos
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
737 次 |
最近记录: |