Как сбросить кэш и обновить assets из контроллера Symfony2?

Есть вот такой код в контроллере , цель которого сбросить весь кэш и обновить assets в prod окружении.

public function resetAction()
    {

        $app_path = $this->container->getParameter('kernel.root_dir') . '/console';
        $process = new \Symfony\Component\Process\Process("php $app_path cache:clear --env=prod --no-debug --no-warmup");
        $process->run();

        $process = new \Symfony\Component\Process\Process("php $app_path assets:install");
        $process->run();

        $process = new \Symfony\Component\Process\Process("php $app_path assetic:dump --env=prod --no-debug");
        $process->run();

        return new Response('ok');
    }


Код отрабатывает успешно, но не сбрасывает кэш (изменения не отображаются)

Что делаю не так и как сделать правильно ?
  • Вопрос задан
  • 511 просмотров
Решения вопроса 1
BoShurik
@BoShurik Куратор тега Symfony
Symfony developer
Замени
$process->run();
на
$process->mustRun();

И окажется, что код не отрабатывает успешно.

Скорее всего используется другой php.ini
Сравни вывод php -i в консоле и так:
$process = new \Symfony\Component\Process\Process("php -i");
$process->run();

return new Response($process->getOutput());


P.S. И что это за задача такая, что нельзя почистить кеш стандартным образом?
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы