Очистка кэша Symfony для другого приложения

Для Вашей локальной разработки они будут оба работать. Полукровка быстрее, более эффективна, и стабильна. Некоторые люди (самостоятельно включенный) используют его для хостинга их мест производства, даже. Конечно, хорошо для локальной разработки.

, Если бы Вы идете не-Windows, я предложил бы смотреть Phusion Passenger . Можно поддерживать несколько приложений на localhost, не имея необходимость делать 'рубиновый сценарий/сервер', каждый раз Вы хотите выполнить что-то.

, Когда рабочая Phusion Passenger, необходимо будет выследить файл журнала сами. полукровка отобразит журнал в консоли, так для получения той функциональности, которую Вы будете иметь к tail -f log/development.log с Passenger.

, Почему направляющие поставлются с обоими? История. Webrick записан в рубине, таким образом, это был ранний фаворит. Полукровка приехала и была лучше, но поддержка webrick не была отброшена.

, Если Вы не хотите устанавливать Phusion Passenger, используйте полукровку. Это - значение по умолчанию, и это работает.

РЕДАКТИРОВАНИЕ 2009-08: мне также везло с тонкий , общедоступная замена для полукровки. Для разработки, дело не в этом большой из соглашения, но это было бы что-то для проверки для производства.

5
задан skaffman 22 September 2009 в 15:43
поделиться

4 ответа

Я считаю, что правильный способ сделать это в symfony 1.2 выглядит следующим образом:

sfContext::switchTo('frontend'); //switch to the environment you wish to clear
sfContext::getInstance()->getViewCacheManager()->getCache()->clean(sfCache::ALL);
sfContext::switchTo('backend'); //switch back to the environment you started from
8
ответ дан 18 December 2019 в 14:49
поделиться

У меня это работает. Он удаляет все кешированные файлы из данного каталога:

$cache_dir = sfConfig::get('sf_cache_dir').'/'.$app.'/'.$env.'/';

$cache = new sfFileCache(array('cache_dir' => $cache_dir));
$cache->clean();
4
ответ дан 18 December 2019 в 14:49
поделиться

Я не думаю, что не существует "чистого" способа выполнить эту работу, так как разные приложения рассматриваются в symfony как совершенно отдельные среды. Очевидно, что задание может быть выполнено менее или более грязным способом, выберите способ удаления любого файла в кэше / каталоге, запустите задачу phing clear-cache (cc) и т. Д.

вы можете просто запустить rm -rf cache / *, но вы можете нарушить какой-либо клиентский запрос. Более простой способ - запустить symfony cc через passthru () или exec ()

0
ответ дан 18 December 2019 в 14:49
поделиться

Вы можете создать экземпляр sfTask и запустить его следующим образом (в sf 1.2):

    $task = new sfCacheClearTask(sfContext::getInstance()->getEventDispatcher(), new sfFormatter());

    $arguments = array();

    // type can be one of: i18n, routing, template, module, config
    $options = array(
        'frontend'  => 'app',
        'routing'   => 'type', 
        'prod'      => 'env',
    );

    $task->run($arguments, $options);

Для всех возможных аргументов и опций см. Исходный код соответствующей sfTask ...

0
ответ дан 18 December 2019 в 14:49
поделиться
Другие вопросы по тегам:

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