配置更改后 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
这里的 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