首页 > 解决方案 > Pimcore 更新 6.9 到 10 后的 ParameterNotFoundException

问题描述

我按照本指南进行升级:https ://pimcore.com/docs/pimcore/current/Development_Documentation/Installation_and_Upgrade/Updating_Pimcore/V6_to_V10.html

这是我当前尝试执行时收到的完整错误消息,例如./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参数放在哪里才能从系统中找到它?

标签: phpsymfonypimcore

解决方案


.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


推荐阅读