带有复杂符号的环境变量

Vik*_*nko 2 php yaml environment-variables symfony

在参数中我有

some.pass: '%env(resolve:some_pass)%'
Run Code Online (Sandbox Code Playgroud)

.env

some_pass=#v[b'<:)TY:-U8T>p[z&.4G@)uB$~z1N
Run Code Online (Sandbox Code Playgroud)

当我打电话时

$container->getParameter('some.pass')

我只是得到一个空字符串或其他类型的传递错误。

我的猜测是因为密码中的符号。

如何在 .env 文件左右转义字符串?

ili*_*ten 6

问题在于您#用于.env文件中注释的第一个字符。

所以当你在.env文件中设置时

parameter=#123
Run Code Online (Sandbox Code Playgroud)

这将像空字符串一样解决,""因为第一个字符是#,之后的所有内容都#将被视为注释。

放入#参数的方法是用双引号将参数值括起来。

parameter="#123"将被解析为 string #123

另外,如果您还想添加"参数,您可以使用\. parameter="#12\"3"将被解析为字符串#12"3