Dan*_* W. 2 php symfony dotenv
将$符号放入文件的环境变量中.env,symfony/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 上创建一个问题。
该$符号具有特殊含义,因此要插入文字美元,您需要引用它或转义它:
TEST='123123123!!!123123123$$LOST$$testtesttest~~~tiltiltiltil'
TEST=123123123!!!123123123\$\$LOST\$\$testtesttest~~~tiltiltiltil
Run Code Online (Sandbox Code Playgroud)