W swoim projekcie używam sfImageTransformExtra plugin. Problem polega na tym, że lokalnie wszystko działa natomiast na serwerze produkcyjnym juz nie. Moje ustawienia:
app.yml
Kod
sfImageTransformPlugin:
mime_type:
auto_detect: true
library: gd_mime_type # gd_mime_type (GD), Fileinfo (PECL), MIME_Type (PEAR)
font_dir: %SF_PLUGINS_DIR%/sfImageTransformExtraPlugin/data/example-resources/fonts
mime_type:
auto_detect: true
library: gd_mime_type # gd_mime_type (GD), Fileinfo (PECL), MIME_Type (PEAR)
font_dir: %SF_PLUGINS_DIR%/sfImageTransformExtraPlugin/data/example-resources/fonts
routing.yml
Kod
sf_image:
class: sfImageTransformRoute
url: /uploads/avatars/thumbnails/:format/:filepath.:sf_format
param: { module: sfImageTransformator, action: index }
requirements:
format: '[\w_-]+'
filepath: '[\w/.]+'
sf_format: 'gif|png|jpg'
sf_method: [ get ]
options:
image_source: File
image_location: %SF_ROOT_DIR%
class: sfImageTransformRoute
url: /uploads/avatars/thumbnails/:format/:filepath.:sf_format
param: { module: sfImageTransformator, action: index }
requirements:
format: '[\w_-]+'
filepath: '[\w/.]+'
sf_format: 'gif|png|jpg'
sf_method: [ get ]
options:
image_source: File
image_location: %SF_ROOT_DIR%
Wywoływanie obrazka:
Kod
echo image_tag(url_for('sf_image', array(
'format' => 'square100',
'filepath' => 'avatars/default')), array('class' => 'imgBorder'));
'format' => 'square100',
'filepath' => 'avatars/default')), array('class' => 'imgBorder'));
Struktura projektu na serwerze:
Kod
--home
----user
------public_html
--------projekt_symfony
--------< tutaj wszystko to co znajduje się w projekcie: lib, apps itp. >
--------web
----------uploads
------------avatars (stad pobieram plik graficzny np: default.jpg)
--------------thumbnails (to jest folder w którym plugin ma cachować przekonwertowane grafiki)
----user
------public_html
--------projekt_symfony
--------< tutaj wszystko to co znajduje się w projekcie: lib, apps itp. >
--------web
----------uploads
------------avatars (stad pobieram plik graficzny np: default.jpg)
--------------thumbnails (to jest folder w którym plugin ma cachować przekonwertowane grafiki)
Na stronie otrzymuje taki url do img'a:
Kod
src="/projekt/web/uploads/avatars/thumbnails/square100/avatars/default.jpg"
Ale problem polega na tym, że on tego obrazka nie widzi i nie cache'uje sobie transformacji. Gdy próbuję dostać się do obrazka poprzez url: http://strona/projekt/web/uploads/avatars/default.jpg to go widzi bez problemu. W settings.yml ustawiłem cache:true. Odpaliłem za pomocą cron'a: symfony cc, symfony project:publish-assets, symfony transforms:check-caching frontend. Z tego ostatniego otrzymałem pozytywną odpowiedź, że wszystko jest ustawione jak należy i ewentualny problem jest w uprawnieniach. Siedzę nad tym już 5 godzin i ni cholery nie wiem co jeszcze mogę mieć źle skoro na localu wszystko działa... Help !