2013-07-25 3 views
5

Таким образом, после перехода на Symfony v2.3 я получаю следующее сообщение всякий раз, когда я пытаюсь очистить кэш:Symfony 2.3 Параметр «kernel.http_method_override» должен быть определен

Параметр «kernel.http_method_override» должен быть определены.

Я осмотрел Google, и все говорят, чтобы очистить каталоги кеша вручную. Я сделал это, а также развернул новую (чистую) версию. Проблема остается.

Может ли кто-нибудь предоставить дополнительную информацию о том, как исправить это?

Благодаря

+0

Когда вы говорите, что вы очистили кеш вручную, вы имеете в виду использование команды или удаление папки кэша из вашего проекта? – Shady

+0

Да, runnning rm -rf app/cache/* – mumia

+0

И под «новой чистой версией» вы подразумеваете, что вы просто используете простой файл по умолчанию composer.json? Или вы добавили все свои зависимости? – Cerad

ответ

0

Основываясь на комментарий о том, что приложение было установлено в свежем компьютере, то это не кажется вероятным, что кэш является проблемой. Хотя это довольно странно. Как показывает документация (http://symfony.com/doc/current/reference/configuration/framework.html#http-method-override), этот параметр был добавлен в 2.3.

Если вы посмотрите на: Symfony \ Bundle \ FrameworkBundle \ FrameworkBundle, мы видим, что этот параметр проверяется в методе загрузки пакета.

От: Symfony \ Bundle \ FrameworkBundle \ DependencyInjection \ FrameworkExtension мы видим, что параметр добавляется в контейнер со значением по умолчанию true в процессе сборки.

Таким образом, кажется, что загрузка вызывается перед процессом сборки. Подумайте о добавлении некоторых выражений die() в код рамки, чтобы подтвердить, что это действительно происходит.

Тогда я бы посоветовал вам попробовать войти в ваш AppKernel и прокомментировать включение всех нестандартных пакетов. Кажется, что один из них может запутаться с процессом загрузки? Звучит маловероятно, но возможно. Просто используйте приложение/консоль для запуска вашего приложения. Оставайтесь в режиме отладки.

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

BTW, какую версию вы обновляете и используете ли вы композитор?

+0

Я был в 2.2, и я использую композитора. – mumia

+0

Попытка установить чистую стандартную установку, а затем добавить мои зависимости один за другим, чтобы увидеть, могу ли я поймать любых преступников. Спасибо – mumia

+0

Обязательно опубликуйте все, что найдете. Начиная с версии 2.2, обновление должно было быть легким. Просто любопытно узнать, в чем проблема. – Cerad

14

Проблема возникает, только если вы, например. вызовите «assets: install», «assetic: dump», прежде чем вы удалите кеш предыдущей версии Symfony.

Так что это объясняет, почему проблема «погрязла» исчезла. Удалите папку кэша или вызовите «cache: clear», до, вы выполните любую другую консольную команду.

+1

Большое спасибо ...почему этот ответ не отмечен как принятый ?! –