Symfony 2.3必须定义参数"kernel.http_method_override"

mum*_*mia 5 symfony

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

必须定义参数"kernel.http_method_override".

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

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

谢谢

Gor*_*ran 14

问题只发生在你的身上.在删除symfony以前版本的缓存之前调用"assets:install","assetic:dump".

这就解释了为什么问题"神秘地"消失了.执行任何其他控制台命令之前,请删除缓存文件夹,或调用"cache:clear" .


Cer*_*rad 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。

所以看起来 boot 是在构建过程之前被调用的。考虑在框架代码中添加一些 die() 语句,以确认这确实发生。

然后我建议您尝试进入 AppKernel 并注释掉所有非标准包的包含。看起来其中一个可能会搞乱启动过程?听起来不太可能,但也许吧。只需使用应用程序/控制台来启动您的应用程序。保持调试模式。

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

顺便说一句,您是从哪个版本升级的并且正在使用 Composer?