我試圖設置AWS S3/Cloudfront與Symfony中的liipimaginebundle一起工作,但我真的不知道我在做什麼。使用Symfony和LiipImagineBundle設置AWS S3/Cloudfront時遇到問題
到目前爲止,我曾嘗試以下這裏http://symfony.com/doc/current/bundles/LiipImagineBundle/cache-resolver/aws_s3.html記載:
安裝AWS-SDK-PHP:
"require": {
"aws/aws-sdk-php": "^3.28",
}
設置我的參數(用正確的價值觀不是這個虛擬數據):
amazon.s3.key: "your-aws-key"
amazon.s3.secret: "your-aws-secret"
amazon.s3.bucket: "your-bucket.example.com"
amazon.s3.region: "your-bucket-region"
設置一個解析器(儘管我不確定這意味着什麼)。 "%amazon.s3.cache_bucket%"
在文檔中,但參數不存在,所以我用"%amazon.s3.bucket%"
代替:
liip_imagine:
cache: profile_photos
resolvers:
profile_photos:
aws_s3:
client_config:
credentials:
key: "%amazon.s3.key%"
secret: "%amazon.s3.secret%"
region: "%amazon.s3.region%"
bucket: "%amazon.s3.bucket%"
get_options:
Scheme: https
put_options:
CacheControl: "max-age=86400"
添加這些行以創建服務:
services:
acme.amazon_s3:
class: Aws\S3\S3Client
factory: Aws\S3\S3Client
arguments:
-
credentials: { key: "%amazon.s3.key%", secret: "%amazon.s3.secret%" }
region: "%amazon.s3.region%"
acme.imagine.cache.resolver.amazon_s3:
class: Liip\ImagineBundle\Imagine\Cache\Resolver\AwsS3Resolver
arguments:
- "@acme.amazon_s3"
- "%amazon.s3.bucket%"
tags:
- { name: "liip_imagine.cache.resolver", resolver: "amazon_s3" }
目前我得到這個錯誤,當我運行php bin/console server:run
:
PHP Fatal error: Uncaught Symfony\Component\Debug\Exception\UndefinedFunctionException: Attempted to call function "S3Client" from namespace "Aws\S3". in /var/www/swing-polls/var/cache/dev/appDevDebugProjectContainer.php:360
我已經嘗試了半打其他CONFIGS /教程無濟於事。如果有人能指引我正確的方向,我會非常感激。
使用Simple S3 Symfony Service提供的代碼進行了一些調整,我已經能夠將我的圖片上傳到我的s3存儲桶,但我不知道如何讓liipimaginebundle與他們一起工作。
謝謝您的答覆,嘗試此方法後不幸的是我還收到了同樣的錯誤更換
。 – Sarcoma