配置更改后 Symfony 2 缓存卡住了(FileLoaderException)

Symfony 2 cache stuck after config change (FileLoaderException)

这里的 Sf2 中有非常奇怪的行为。我在重构代码时尝试更改我的配置命名空间:

adadgio_rocket:
    foo: 'bar'

简单点

adadgio:
    rocket: 'bar'

我已经更改了我的包 DI 配置节点以反映该更改:

$rootNode = $treeBuilder->root('adadgio');
$rootNode->children()
    ->scalarNode('rocket')->end()
->end();

现在我有一个 FileLoaderLoadException 仍然说能够加载 adadgio 的配置,但仍然找到 adadgio_rocket 命名空间(错误结果)。

我试图清除缓存,认为这是问题所在,但当然,symphony 缓存命令发出了同样的错误。它仍然会找到其他已删除的配置命名空间(以及它们在 AppKernel 中的声明)。

基本上,现在一切都卡住了。

是的,这种事情可能会发生。只需删除 app/cache/dev 目录并再次 运行 app/console cache:clear

如果还是不行,请100%确保配置中没有剩余部分或其他包中没有引用。如果不确定,请检查:

grep -ir adadgio app/config/ src/ vendor/

这也可能是权限问题。授予 777 缓存权限并使用以下内容清除缓存而不预热缓存:

app/console cache:clear --env=<your environment> --no-warmup