我在 services.yaml 中有一个配置
parameters:
locale: 'en'
uri: '%env(resolve:DEV_ENV_URI)%'
Run Code Online (Sandbox Code Playgroud)
但是当我执行测试时,我使用了这个参数,比如
public function setUp()
{
$this->client = static::createClient();
static::bootKernel();
$this->container = static::$kernel->getContainer();
$this->guzzle = new Client(
[
'base_uri' => $this->container->getParameter('uri'),
'verify' => false
]
);
}
Run Code Online (Sandbox Code Playgroud)
我有以下错误:
未找到环境变量:“DEV_ENV_URI”。
这是我的.env:
APP_ENV=test
DEV_ENV_URI=http://0.0.0.0:8000/
Run Code Online (Sandbox Code Playgroud)
在请求期间的开发环境中一切都很好,但是当我从终端运行测试时,环境不起作用。
也许您可以提出任何其他想法,如何解决出于测试原因建立基本 URI 的问题?
非常感谢您的任何想法!
在参数中我有
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 文件左右转义字符串?