通过 symfony-dotenv 加载后,.env 中的 `$` 变量不一样

Dan*_* W. 2 php symfony dotenv

$符号放入文件的环境变量中.envsymfony/dotenv加载程序似乎搞砸了一些事情。

.env

TEST=123123123!!!123123123$$LOST$$testtesttest~~~tiltiltiltil
Run Code Online (Sandbox Code Playgroud)

test.php

<?php
require_once __DIR__ . '/vendor/autoload.php';

$dotenv = new \Symfony\Component\Dotenv\Dotenv();
$dotenv->load('.env');

print_r($_ENV);
Run Code Online (Sandbox Code Playgroud)

输出:

[TEST] => 123123123!!!123123123$$~~~tiltiltiltil
Run Code Online (Sandbox Code Playgroud)

预期输出:

[TEST] => 123123123!!!123123123$$LOST$$testtesttest~~~tiltiltiltil
Run Code Online (Sandbox Code Playgroud)

我的问题是这是一个错误还是我做错了什么。

是否将值用引号引起来并不重要。

如果不是我,我会在 GitHub 上创建一个问题。

Álv*_*lez 7

$符号具有特殊含义,因此要插入文字美元,您需要引用它或转义它:

TEST='123123123!!!123123123$$LOST$$testtesttest~~~tiltiltiltil'
TEST=123123123!!!123123123\$\$LOST\$\$testtesttest~~~tiltiltiltil
Run Code Online (Sandbox Code Playgroud)