Symfony 2.3必须定义参数“kernel.http_method_override”

时间:2013-07-25 13:41:26

标签: symfony

因此,在迁移到Symfony v2.3之后,每当我尝试清除缓存时,我都会收到以下消息:

必须定义参数“kernel.http_method_override”。

我环顾了谷歌,每个人都说要手动清除缓存目录。 我这样做了,并部署了一个新的(干净)版本。 问题依然存在。

任何人都可以提供有关如何解决此问题的更多信息吗?

由于

2 个答案:

答案 0 :(得分:14)

只有在你这样做时才会出现问题。 call" assets:install"," assetic:dump",删除symfony之前版本的缓存之前。

这就解释了为什么问题"笨拙地#34; dissapeared。删除缓存文件夹,或在执行任何其他控制台命令之前调用" cache:clear",

答案 1 :(得分:0)

根据应用程序安装在新计算机上的评论,似乎缓存不是一个问题。虽然很奇怪。正如文档(http://symfony.com/doc/current/reference/configuration/framework.html#http-method-override)所示,此参数已添加到2.3。

如果你查看:Symfony \ Bundle \ FrameworkBundle \ FrameworkBundle,我们看到在bundle启动方法中检查了该参数。

From:Symfony \ Bundle \ FrameworkBundle \ DependencyInjection \ FrameworkExtension我们看到参数在构建过程中被添加到容器中,默认值为true。

因此看起来在构建过程之前调用了boot。考虑在框架代码中添加一些die()语句,以确认确实发生了这种情况。

然后我建议您尝试进入AppKernel并注释掉所有非标准捆绑包。看起来他们中的一个人可能正在搞乱启动过程?听起来不太可能,但也许。只需使用app / console启动您的应用。保持调试模式。

另一种选择是从一个正常工作的标准应用程序开始,然后添加捆绑包直到问题再次出现。

顺便说一句,您从哪个版本升级并使用作曲家?