5

昨日、サーバー上で Symfony2 システムの 40 回目または 50 回目のデプロイメントを行いました。これまでのところすべて順調です。今日、厄介なエラーが発生しました。これが起こることです:

 * executing `symfony:cache:warmup'
 * executing "cd /NFS2/oa_sf2/releases/20111214182506 && php app/console cache:warmup --env=prod"
    servers: ["151.1.111.19"]
    [151.1.111.19] executing command
 ** [out :: 151.1.111.19] Warming up the cache
 ** [out :: 151.1.111.19] 
 ** [out :: 151.1.111.19] 
 ** [out :: 151.1.111.19] 
 ** [out :: 151.1.111.19] [RuntimeException]
 ** [out :: 151.1.111.19] Error creating output file.
 ** [out :: 151.1.111.19] 
 ** [out :: 151.1.111.19] 
 ** [out :: 151.1.111.19] 
 ** [out :: 151.1.111.19] cache:warmup
 ** [out :: 151.1.111.19] 
 ** [out :: 151.1.111.19] 
    command finished
*** [deploy:update_code] rolling back
  • ロールバック時にコード ツリー全体が削除されるため、キャッシュ フォルダーをさらに調査する機会はありません。
  • カピストラーノにはロールバックを無効にする方法があることはわかっていますが、それでもリモート サーバーへのアクセスなしで理解したいと思います。
  • 展開ユーザーの読み取り/書き込み/実行権限は変更されていません

調査を進める方法について何か提案をお願いします。どうもありがとう。

PSスタックトレースに関する同様の質問は、この特有の問題に対処していません。

4

3 に答える 3

3

Capifony に関する質問ではないと思います。最終的には、Symfony コマンドのみを実行します。

まずcache:warmup、サーバー上でタスクを手動で実行してみてください。

権限の問題である可能性があります。ウォームアップの直前に、キャッシュ ディレクトリに対する権限を確認します。これは、タスクを上書きすることで実行できます (ls -l実際のコマンドを実行する前に、タスクをコピーしてキャッシュ ディレクトリで実行するだけです)。

何が問題なのかを確認するために毎回デプロイする必要はありません。cache:warmup コマンド自体を実行します。

cap symfony:cache:warmup

私は Symfony 2.0.7 のソースを調べましたが、資産の YUI コンプレッサーは、そのような例外がスローされる唯一の場所です(リンクを参照)。これは、assetic でアセットを圧縮することに関連する問題であることを示唆しています。この機能を最近追加したのに、サーバーに Java がインストールされていない可能性があります。

于 2011-12-14T20:39:00.597 に答える
0

ディスクがいっぱいですか?キャッシュをウォームアップしようとすると、いっぱいになる可能性があります。

于 2011-12-14T20:05:57.653 に答える
0

キャッシュ ウォーミングは、AFAIU の symfony タスクであり、XDebug またはそのプロファイラーを介して検査できます。

于 2011-12-14T20:39:29.737 に答える