【Symfony2】キャッシュフォルダの変更
Symfony2のデフォルトでは、キャッシュフォルダはapp/フォルダの下にあります。
時々いろな理由(例えば、ソースコード管理)で、キャッシュフォルダをプロジェクトフォルダの外に置きたい場合があります。
その状況のために、キャッシュフォルダを変更する方法を調べてみました。
キャッシュフォルダの変更
一見難しそうなタスクですが、Symfony2では簡単なやり方を提供しています(画像などのリソースファイルをweb/フォルダの下からプロジェクトフォルダの外に移動するほうが手間かかる気がします)。
app/AppKernel.phpのファイルに、getCacheDirの関数を追加すればよいです。
1 2 3 4 | public function getCacheDir() { return $this->rootDir.'/../cache/[project_name]/'.$this->environment; } |
上記の例では、プロジェクトフォルダと同じ階層にcacheを作って、その中にプロジェクトごと環境を分けてcacheを保存するイメージです。
リソースフォルダの変更
画像の容量を小さくするため、画像を違うサイズの小画像を自動作成しキャッシュ化するバンドルAvalancheImagineBundleを使います。
初回目画像を作成するため時間がかかって重いのは難点ですが。
app/config.ymlに設定すれば、デフォルトの設定を上書きできるようになっています。
1 2 3 4 5 6 | avalanche_imagine: source_root: 処理したい画像フォルダの絶対パス web_root: 処理したい画像フォルダの(webルートから)相対パス cache_prefix: media/cache driver: gd filters: [] |
Author Profile
スターフィールド編集部
SHARE