在我拥有的参数中
some.pass: '%env(resolve:some_pass)%'
.env
some_pass=#v[b'<:)TY:-U8T>p[z&.4G@)uB$~z1N
当我打电话
$container->getParameter('some.pass')
我只是得到一个空字符串或另一种通过类型的错误。
我的猜测是因为密码中的符号。
如何在.env文件中转义字符串?
答案 0 :(得分:2)
问题在于您的第一个字符#
用于.env
文件中的注释。
因此,当您在.env
文件中进行设置
parameter=#123
,它将像空字符串""
一样被解析,因为第一个字符为#
,并且#
之后的所有内容都将被视为注释。
将#
放入参数的方法是用双引号将参数值引起来。
parameter="#123"
将解析为字符串#123
。
如果您还想在参数中添加"
,则可以使用\
来转义字符。
parameter="#12\"3"
将解析为字符串#12"3