【问题标题】:Symfony: The service ... has a dependency on a non-existent parameter kernel.secretSymfony:服务...依赖于不存在的参数 kernel.secret
【发布时间】:2014-05-15 22:46:12
【问题描述】:

我正在尝试设置一个新的 Symfony 项目。当我执行“php console.php config:dump-reference”时,我收到一条错误消息,提示“服务“uri_signer”依赖于不存在的参数“kernel.secret”。你的意思是:“kernel.charset”?'

我已经验证了秘密是在 config/parameters.yml 中设置的:

parameters:
    secret: s3kr3t

我已经验证参数是在config/config.yml中导入的:

imports:
    - { resource: parameters.yml }

如果我将 parameters.yml 更改为以下内容,它可以工作(但根据网络上的所有文档,这是不正确的):

parameters:
    kernel.secret: s3kr3t

【问题讨论】:

标签: php symfony-2.4


【解决方案1】:

这意味着 kernel.secret 尚未设置,该值用于生成 CSRF-tokens,但也可以用于其他事情。

确保 kernel.secrect 在 parameters.yml 中是已知的,并将其导入到 config.yml 中,如下所示:

imports:
    - { resource: parameters.yml }

parameters.yml:

parameters:
    kernel.secret: ThisIsVerySecret!

或者在标准版中是如何做到的:

config.yml:

framework:
    secret:          "%secret%"

parameters.yml

parameters:
     secret: ThisIsVerySecret!

【讨论】:

    【解决方案2】:

    如果有类似问题忘记在parameters_dev.yml 中添加 因此,请检查您在哪个环境中工作以及是否为该环境设置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-10
      • 1970-01-01
      • 2017-03-21
      • 2019-09-28
      • 2015-05-29
      相关资源
      最近更新 更多