我配置了一个流 Package 器,使用Gaufrette bundle管理文件系统,可以使用assetic成功地转储资产,我当前的配置如下:
knp_gaufrette:
adapters:
amazon:
amazon_s3:
amazon_s3_id: site_store.s3
bucket_name: %site_store.bucket_name%
create: true
filesystems:
amazon:
adapter: amazon
stream_wrapper:
protocol: s3
filesystems:
- amazon
assetic:
read_from: %cdn_path_prod%
write_to: %cdn_path_prod%
和我的参数:
cdn_url_prod: "http://images.site.com/"
cdn_path_prod: "s3://amazon"
我可以执行app/console assetic:dump--env = dev,然后它会成功地将资产上传到我的s3 bucket,但是当我尝试通过执行以下操作来执行资产安装时:
app/console assets:install s3://amazon
它给我这个错误:
[InvalidArgumentException]
The specified path (s3://amazon) is invalid.
我在网上看过,有人可以做到他所描述的here。我的蒸汽 Package 有什么问题?
2条答案
按热度按时间q3qa4bjr1#
是否确实已注册任何流 Package 来处理“s3://”方案?
在www.example.com中https://github.com/Cybernox/AmazonWebServicesBundle/blob/master/Resources/doc/cdn.md#dump-assets-to-the-s3-bucket,您将看到他们如何注册流 Package 器,以便能够将资产转储到“s3://”目标。
ui7jx7zq2#
所以我所做的一切都奏效了。
在
composer.json
处添加并安装创建类:
添加参数:在
parameters.yml
中的aws_key
、aws_secret_key
、aws_region
在
AppKernel.php
处重写boot()
方法:在
config_prod.yml
处添加:最后,为资产添加过滤器以正确重写路径:
所以每次你改变了一些东西需要运行:
一个非常重要的细节,几乎花了我2天的时间,你需要更新亚马逊S3的CORS访问一些文件作为字体添加到twitter引导css例如.我的CORS权限是这样的: