2015-09-03 3 views
1

Ситуация:Как устранить проблему с Symfony2 twig_upper_filter?

  1. режим производства
  2. Изменить файл
  3. Одна из страниц сайта возвращает следующие 500 внутренняя ошибка.
  4. Запустить обновление композитора, и ошибка исчезнет.
  5. Измените файл и проблема вернется.

Код, вызывающий twig_upper_filter, похоронен глубоко внутри встроенных в шаблоны шаблонов symfony.

Что делает обновление для композитора, это может исправить это? Он повторяется (только на одном сервере).

UndefinedFunctionException: "Attempted to call function 
"twig_upper_filter" from the global namespace." at 

Symfony 2.6.

ответ

0

Позволить веб-сервер строить кэш решить эту проблему. Среда командной строки не должна быть точно такой же, как php веб-сервера. На этом сервере сложно запускать сценарии командной строки в качестве пользователя веб-сервера.

Таким образом, очистка кэша в командной строке без прогрева работа вокруг:

php ./app/console cache:clear --no-warmup --env=prod 
1

Поскольку в конце обновления композитора он очищает кеш, каждый раз, когда вы что-то изменяете, вам нужно очистить кеш, чтобы изменения были видимыми в производственной среде.

Это автоматическое средство разработки.

Вам необходимо запустить это из консоли:

cd /your/symfony/app 
php ./app/console cache:clear --env=prod 
+0

Нет, к сожалению, мерзавец скрипт делает именно это. Я думаю, что у меня есть это. Использование --no-warmup вместо --env = prod кажется ОК. – Interlated

+0

Какой файл вы меняете? –

+0

Также вы ** НЕОБХОДИМ ** использовать '--env = prod', чтобы очистить производственный кеш, но вы можете использовать как« --no-warmup --env = prod », не то, что он имеет значение,« разминка » », то получается, когда вы загружаете обновление для композитора –

Смежные вопросы