Symfony2アプリをElasticBeanstalkにデプロイする場合、アプリが機能し始めるために手動キャッシュクリアを実行する必要があります。そこで、デプロイ中にprodキャッシュをクリアするcontainerコマンドを追加しました。コマンドは実行されますが、アプリが機能するためには手動でクリアする必要がありました。
少し調べてみると、Symfony2のキャッシュファイル自体に絶対パス文字列があることがわかりました。追加したコマンドは、「展開前」、またはアプリファイルがステージングフォルダー(「/ var / app / ondeck」と呼ばれる)から最後の休止場所(「/ var / app / current」)に移動される前に実行されます。その結果、キャッシュファイルの絶対パス文字列が間違っており、アプリの読み込みに失敗します。
また、開発環境は独自のキャッシュを自動的に再構築するため、すぐに正常に機能します。影響を受けるのは本番環境だけです。
私の質問:
- コードが所定の位置に移動された後、cache clearコマンドを自動的に実行する方法はありますか?
- あるいは、Symfony2にキャッシュ生成用の別の「ベースパス」を指定させる方法はありますか?そうすれば、正しい最終的な場所を指すように設定できます。
よろしくお願いします:-)