2017-08-16 1 views
0

Je suis en train d'utiliser Symfony 3.2 avec LiipImagineBundle 1.8.0 et Nginx avec php7 fpm en production. Dans desenv le webserver est le serveur intégré php. Dans desenv fonctionne très bien et le répertoire cache sont créés dans le dossier web, mais en production non et Symfony renvoie 404 pour les images. Une idée de ce que cela pourrait être? Ceci est ma configuration:Symfony 3.2 avec LiipImagineBundle ne crée pas de dossier media/cache

Nginx

location/{ 
    try_files $uri @rewriteapp; 
} 

location @rewriteapp { 
    rewrite ^(.*)$ /app.php/$1 last; 
} 

location ~ ^/app\.php(/|$) { 

    include snippets/fastcgi-php.conf; 
    fastcgi_pass unix:/run/php/php7.0-fpm.sock; 
    fastcgi_split_path_info ^(.+\.php)(/.*)$; 
    include fastcgi_params; 
    fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name; 
    fastcgi_param DOCUMENT_ROOT $realpath_root; 
    internal; 
} 

location ~ \.(png|jpeg|jpg|gif)$ { 
    if (-f $request_filename) { 
     expires 18h; 
     add_header Cache-Control "public, must-revalidate, proxy-revalidate"; 
     access_log off; 
    } 

    try_files $uri @rewriteapp; 
} 

Symfony Config

liip_imagine: 
    resolvers: 
     default: 
      web_path: 
       web_root: "%kernel.root_dir%/../web" 
       cache_prefix: "media/cache" 


    filter_sets: 
     cache: ~ 

     slide: 
      quality: 80 
      filters: 
       thumbnail: { size: [364, 244]} 
       watermark: 
        image: Resources/data/logo.png 
        size: 0.2 
        position: bottomleft 

Symfony Routing

_liip_imagine: 
    resource: "@LiipImagineBundle/Resources/config/routing.xml" 

filtre Twig utilisation

<img src="{{ asset('bundles/app/uploads/' ~ image.id ~ '/' ~ image.file) | imagine_filter('slide') }}" /> 

Permission de dossier multimédia créés par moi.

drwxrwxrwx+ 3 root  root 4096 Aug 15 19:05 media 
+0

Qu'est-ce que l'OS en utilisant (Ubuntu ...)? –

+0

@ImanaliMamadiev Oui, Ubuntu 16.04 dans Digital Ocean vm. –

+0

asset ('bundles/app/uploads /' ~ image.id ~ '/' ~ image.file) | imagine_filter ('slide') à quoi cela ressemble-t-il en source html? –

Répondre

0

J'ai trouvé le problème.

dans la configuration correcte de la valeur cache_prefix doit contais slashe alignées à

liip_imagine: 
    resolvers: 
     default: 
      web_path: 
       web_root: "%kernel.root_dir%/../web" 
       cache_prefix: "/media/cache"