LiipImagineBundleで画像を変換しようとしています。ファイルはweb/
フォルダではなく、symfonyアプリケーションルートフォルダのサブフォルダstorage/
に保存されています。これは、イメージを配信する前にカスタムセキュリティレイヤーをウィットにする必要があるためです。LiipImagineBundleで画像を変換する
たとえば、フォルダsymfony_app/storage/images/image.jpg
に画像があります。今私はそれを変換し、サブフォルダsymfony_app/storage/images/thumbnail/image.jpg
にフィルタリングされた画像を保存したいと思います。
今私はコード
$imagineController = $this->container->get('liip_imagine.controller');
$imagineController->filterAction(new Request(), '/path/to/symfony_app/storage/images/image.jpg', 'thumbnail');
を試みるが、私はメッセージ"Source image could not be found"
で404エラーを取得します。
ファイルが見つからない理由を理解できません。私はまた、コンソールコマンドに
php bin/console liip:imagine:cache:resolve images/image.jpg
を試してみましたが、結果を得る:
[Imagine\Exception\RuntimeException]
Unable to open image /path/to/symfony_app/storage/images/image.jpg
storage/
サブフォルダがアクセス権777を持っており、これが私のLiipImagine構成です:
liip_imagine:
loaders:
default:
filesystem:
data_root: /var/www/actus-backend/storage/
resolvers:
default:
web_path: ~
filter_sets:
cache: ~
thumbnail:
quality: 75
filters:
thumbnail: { size: [100, 100], mode: outbound }
777私に間違った音がします。それがWebrootの下にあるので、私はいくつかのソフトウェアがこれらのファイルへのアクセスをブロックしていると想像することができます。 traditonal Unix権限の横にある制限については、システムのマニュアルを参照してください。 – hakre
私は777がベストアイデアではないことを知っています。将来これを変更したいと思います。アプリは私自身のubuntuサーバーにあります。他の制限はありませんが、アプリケーションはドッカーコンテナで実行されています。これが問題になるかもしれませんか? – mgluesenkamp
ドッカーコンテナには異なるパスが存在する可能性があります。 – hakre