Symfony:服务...依赖于不存在的参数kernel.secret

时间:2014-05-15 22:46:13

标签: php symfony-2.4

我正在尝试设置一个新的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

2 个答案:

答案 0 :(得分:2)

这意味着还没有设置kernel.secret,这个值用于生成CSRF令牌,但也可以用于其他事情。

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

imports:
    - { resource: parameters.yml }

parameters.yml:

parameters:
    kernel.secret: ThisIsVerySecret!

或者如何在标准版中完成:

config.yml:

framework:
    secret:          "%secret%"

parameters.yml

parameters:
     secret: ThisIsVerySecret!

答案 1 :(得分:1)

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