我正在尝试设置一个新的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
答案 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
中添加它
因此,请检查您在哪个环境中工作,以及是否为该环境设置了它。