5

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

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

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

谁能提供有关如何解决此问题的更多信息?

谢谢

4

2 回答 2

14

仅当您例如时才会出现问题。在你删除 symfony 之前版本的缓存之前调用 "assets:install", "assetic:dump"。

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

于 2013-10-10T08:49:17.543 回答
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 并注释掉所有非标准包的包含。似乎其中一个可能在搞乱启动过程?听起来不太可能,但也许。只需使用 app/console 启动您的应用程序。保持调试模式。

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

顺便说一句,你是从哪个版本升级的,你在使用作曲家吗?

于 2013-07-25T19:29:35.607 回答