J'essaie de configurer AWS S3/Cloudfront pour qu'il fonctionne avec liipimaginebundle dans Symfony, mais je n'ai aucune idée de ce que je fais.Problèmes lors de la configuration d'AWS S3/Cloudfront avec Symfony et LiipImagineBundle
Jusqu'à présent, j'ai essayé ce qui suit documenté ici http://symfony.com/doc/current/bundles/LiipImagineBundle/cache-resolver/aws_s3.html:
aws-sdk-php installé:
"require": {
"aws/aws-sdk-php": "^3.28",
}
Configurer mes paramètres (avec les valeurs correctes pas cette données fictives):
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"
Mettre en place un résolveur (même si je ne suis pas sûr de ce que cela signifie même). "%amazon.s3.cache_bucket%"
est dans la documentation, mais le paramètre n'existe pas donc j'utilisé à la place "%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"
ajouté ces lignes pour créer les services:
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" }
Je reçois actuellement cette erreur quand je exécuter 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
J'ai essayé une demi-douzaine d'autres configs/tutoriels en vain. Si quelqu'un peut me diriger dans la bonne direction, je serais incroyablement reconnaissant. Avec le code fourni au Simple S3 Symfony Service avec quelques ajustements, j'ai pu obtenir mes images à télécharger dans mon seau s3, mais je ne sais pas comment faire fonctionner liipimaginebundle avec eux.
Merci pour votre réponse, malheureusement après avoir essayé ce que je reçois toujours la même erreur. – Sarcoma