我目前在 liip_imagine 的配置上遇到问题。 我的设置:
我首先使用 Flysystem 安装了 vichuploader,并且它可以工作,之后我尝试添加 liipimagine,但生成的 url 不在我的 aws s3 上。
网站域名:mywebsite.com
s3 域名:asset.mywebsite.com
从liipimagine生成的url:mywebsite.com/media/cache/resolve/md/facility/photo/big-img-65d760d9afe9a372425826.jpg
这个部分运行良好,我可以上传图像并将其显示在我的树枝上:
vich_uploader.yaml:
vich_uploader:
db_driver: orm
storage: flysystem
metadata:
type: attribute
mappings:
facility_photo:
upload_destination: s3.facility_photo
uri_prefix: '%asset_s3_url%/facility/photo'
namer: Vich\UploaderBundle\Naming\SmartUniqueNamer
inject_on_load: false
delete_on_update: true
delete_on_remove: true
flysystem.yaml:
flysystem:
storages:
s3.facility_photo:
adapter: 'aws'
visibility: public
options:
client: 'Aws\S3\S3Client'
bucket: '%amazon_s3_bucket%'
prefix: 'facility/photo'
streamReads: true
services.yaml:
services:
Aws\S3\S3Client:
arguments:
-
version: "%amazon_s3_version%"
region: "%amazon_s3_region%"
endpoint: "https://s3.%amazon_s3_region%.amazonaws.com"
credentials:
key: "%amazon_s3_key%"
secret: "%amazon_s3_secret%"
但是我添加了 liipimagine :
liip_imagine:
resolvers:
cache_resolver_aws_s3:
aws_s3:
client_config:
credentials:
key: "%amazon_s3_key%"
secret: "%amazon_s3_secret%"
region: "%amazon_s3_region%"
version: "%amazon_s3_version%"
bucket: "%amazon_s3_bucket%"
get_options:
Scheme: https
put_options:
CacheControl: "max-age=86400"
loaders:
loader_aws_s3:
flysystem:
filesystem_service: 's3.facility_photo'
filter_sets :
cache: ~
md:
data_loader: loader_aws_s3
cache: cache_resolver_aws_s3
quality: 100
filters:
thumbnail: { size: [120, 90], mode: outbound }
我尝试在我的树枝中添加过滤器“md”:
<img src="{{ vich_uploader_asset(photo, 'imageFile', 'App\\Entity\\PhotoFacility') | imagine_filter('md') }}" />
他不会从 s3 找到 url,而是在我的网站域上找到: mywebsite.com/media/cache/resolve/md/facility/photo/big-img-65d760d9afe9a372425826.jpg
我是否忘记了一些配置? 我遵循了 liipimage 文档
欢迎提供帮助,提前感谢您的合作
我有一个非常相似的设置,除了我使用 oneupFlysystemBundle 代替,但我认为这可能会有所帮助:
我认为你需要将解析器更改为类似的东西
resolvers:
flysystem_resolver:
flysystem:
filesystem_service: s3.facility_photo
root_url: '%uploads_base_url%'
cache_prefix: media/cache
cache: flysystem_resolver
并从过滤器组中删除
cache
键。