php - Pimcore 更新 6.9 到 10 后的 ParameterNotFoundException
问题描述
这是我当前尝试执行时收到的完整错误消息,例如./bin/console cache:clear
。但也适用于所有其他命令。
Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException^ {#1391
-key: "secret"
-sourceId: null
-sourceKey: null
-alternatives: []
-nonNestedAlternative: null
#message: "You have requested a non-existent parameter "secret"."
#code: 0
#file: "./vendor/symfony/dependency-injection/ParameterBag/ParameterBag.php"
#line: 93
trace: {
./vendor/symfony/dependency-injection/ParameterBag/ParameterBag.php:93 { …}
./vendor/symfony/dependency-injection/ParameterBag/EnvPlaceholderParameterBag.php:61 { …}
./vendor/symfony/dependency-injection/ParameterBag/ParameterBag.php:203 { …}
./vendor/symfony/dependency-injection/ParameterBag/ParameterBag.php:175 { …}
./vendor/symfony/dependency-injection/ParameterBag/ParameterBag.php:165 { …}
./vendor/symfony/dependency-injection/ParameterBag/ParameterBag.php:165 { …}
./vendor/symfony/dependency-injection/Compiler/MergeExtensionConfigurationPass.php:62 { …}
./vendor/symfony/http-kernel/DependencyInjection/MergeExtensionConfigurationPass.php:39 { …}
./vendor/symfony/dependency-injection/Compiler/Compiler.php:91 { …}
./vendor/symfony/dependency-injection/ContainerBuilder.php:744 { …}
./vendor/symfony/http-kernel/Kernel.php:545 { …}
./vendor/pimcore/pimcore/lib/Kernel.php:237 { …}
./vendor/symfony/http-kernel/Kernel.php:786 { …}
./vendor/symfony/http-kernel/Kernel.php:125 { …}
./vendor/pimcore/pimcore/lib/Kernel.php:216 { …}
./vendor/pimcore/pimcore/lib/Bootstrap.php:255 { …}
./vendor/pimcore/pimcore/lib/Bootstrap.php:60 { …}
./bin/console:24 {
› /** @var \Pimcore\Kernel $kernel */
› $kernel = \Pimcore\Bootstrap::startupCli();
› $application = new \Pimcore\Console\Application($kernel);
}
}
}
文件内容config/config.yml
:
imports:
- { resource: parameters.yml }
- { resource: security.yml }
- { resource: services.yml }
- { resource: 'local/' }
...
并在config/local/parameters.yml
:
parameters:
secret: mysecret
...
我还尝试将秘密放入config/services.yml
骨架示例中。
我必须将secret
参数放在哪里才能从系统中找到它?
解决方案
.yml
通过将配置文件从重命名为 ,我能够解决我这边的问题.yaml
。
所以我的/config
文件夹现在看起来像这样:
我还必须将环境特定配置中的导入更改config/packages/$ENV/*.yaml
为此(注意../../
):
imports:
- { resource: ../../config.yaml }
我也将parameters
配置放入services.yaml
就像在 pimcore 演示中一样:https ://github.com/pimcore/demo/blob/5f0577f4b801e2ca594efc94364600a7a0aee505/config/services.yaml#L1
推荐阅读
- android - Android Studio 不在设计视图上显示组件,而是在模拟器上显示,知道为什么吗?
- reactjs - 如何启用 webpack MERN 的监视?
- neural-network - Michael Neilsen 书中成本函数的选择:神经网络和深度学习
- android - 获取数据firebase firestore时反应本机错误
- angular - 从子代码中获取@Input() 值返回未定义
- python - pydoc.doc 无法检索“os.path.sep”
- javascript - 我收到 TypeError: Cannot convert undefined or null to object when using Object.assign
- java - 变量已在范围内定义
- java - scala mapreduce 异常:java.lang.ClassNotFoundException:scala.Function2
- text - 如何在 Geany 中同时写入多行?