私は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が内部にあります。