我有参数
some.pass: '%env(resolve:some_pass)%'
.环境
some_pass=#v[b'<:)TY:-U8T>p[z&.4G@)uB$~z1N
当我调用
$container->getParameter('some.pass')
我只是得到一个空字符串或其他类型的传递错误。
我猜这是因为密码中的符号。
如何转义 .env 文件中的字符串?
最佳答案
问题出在您在 .env
文件中用于注释的第一个字符 #
。
所以当你在 .env
文件中设置时
parameter=#123
这将像空字符串 ""
一样解析,因为第一个字符是 #
并且 #
之后的所有内容都将被视为注释。
将#
放在参数中的方法是用双引号将参数值括起来。
parameter="#123"
将被解析为字符串 #123
。
另外,如果您还想在参数中添加 "
,您可以使用 \
转义字符。
parameter="#12\"3"
将解析为字符串 #12"3
关于php - 符号复杂的环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51138810/