【问题标题】:system defined environment variable in .env file.env 文件中系统定义的环境变量
【发布时间】:2020-07-27 22:59:39
【问题描述】:

我有一个系统环境变量 DB_USR = dbusr

当我这样做时,

在 shell 终端中回显 $DB_USR,

它返回 dbusr

现在,我可以从 php 中的 .env 文件中调用这个变量吗?

DB_USERNAME=$DB_USR

这样做的原因是我通过 kubernetes 部署文件设置系统范围的环境变量,以避免将机密存储在 docker 映像中。

任何帮助将不胜感激。

PHP 版本:7.2 操作系统:Ubuntu 18.04

谢谢, 不正常

【问题讨论】:

    标签: laravel dotenv


    【解决方案1】:

    我以前从未这样做过,所以完全未经测试......但你应该能够在你的 .env 文件中这样做:

    DB_USERNAME=${DB_USR}
    

    更新

    好的,所以上面的方法不起作用,所以让我们回退到使用getenv()

    您需要更新您的config/database.php 文件以从getenv(‘DB_USR’) 而不是env(‘DB_USERNAME’) 中获取数据库用户。

    【讨论】:

    • 我仍然收到这样的错误,{"http_code":400,"message":"SQLSTATE[HY000] [1045] Access denied for user '${DB_USR}'@'172.20.20.20' (使用密码:YES)
    猜你喜欢
    • 1970-01-01
    • 2020-04-03
    • 1970-01-01
    • 1970-01-01
    • 2020-08-27
    • 2018-01-15
    • 1970-01-01
    • 2011-03-30
    • 1970-01-01
    相关资源
    最近更新 更多