2016-05-06 19 views
0

私はsymfony2コントローラメソッドを実装しました。これにより、ローカル環境では動作しますが、プロダクション環境では動作しません(キャッシュ:clear --env = prod)。Symfony2コントローラのClearCacheコマンドが本番環境では動作しません

private function execute($command) 
{ 
    $app = new Application($this->get('kernel')); 
    $app->setAutoExit(false); 

    $input = new StringInput($command); 
    $output = new BufferedOutput(); 

    $error = $app->run($input, $output); 

    if($error != 0) 
     $msg = "Error: $error"; 
    else 
     $msg = $output->fetch(); 
    return $msg; 
} 

このメソッドは$ this-> execute( 'cache:clear --env = prod --no-warmup')のように呼び出されます。

私が得た結果は、ディレクトリが存在していても空であるにもかかわらず、重大なエラーです。ターミナルからキャッシュをクリアすると、結果はOKですが、このコントローラーアクションを実行すると例外が発生します。

'The directory /var/www/clients/client0/web1/web/app/cache/prod/jms_serializer" does not exist.' 

誰かが私に方向性を指摘できますか?ディレクトリには755があり、キャッシュディレクトリ内のすべてのフォルダは同じ所有者です。

私の心に来る唯一の事は、ウェブが、私が見たものを意味シンボリックリンクを、持っていることであることは/var/www/example.com/web/app/cache/prod

Serverが持つ仮想ですいくつかのDebianが内部にあります。

答えて

0

私は本当にシンプルなスクリプトを作成して管理しており、再帰的にフォルダを削除/キャッシュします。 Symfonyはそれを再度作成します。

関連する問題