gpt4 book ai didi

symfony - 如何在 Symfony 3.4 中的 Controller 中获取环境参数?

转载 作者:行者123 更新时间:2023-12-01 00:19:01 28 4
gpt4 key购买 nike

dev Symfony 3.4 应用程序的环境,我试图将凭据存储为环境变量。我无法让它工作,我无法弄清楚缺少什么。这就是我所拥有的:

app\config\.env我定义了一个 API key ,如下所示:

GOOGLE_DEVELOPER_KEY=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

app\config\services.yml我有:
parameters:
google.developer.key: "%env(GOOGLE_DEVELOPER_KEY)%"

在我的一个 Controller 中,我想将此参数传递给一个对象,如下所示:
    $client = new \Google_Client();
$client->setDeveloperKey($this->getParameter('google.developer.key'));

对我来说,这个设置看起来不错,但是当我尝试运行它时,我得到一个 EnvNotFoundException带有以下消息:

Environment variable not found: "GOOGLE_DEVELOPER_KEY".



当我把 key 放进 app\config\services.yml直接,它工作得很好:
parameters:
google.developer.key: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

(但出于各种原因,这不是我想要的。)

我清除了 dev缓存,重新启动 Web 服务器,阅读相关的 Symfony 文档(我认为),但没有运气。我想我错过了一步,但我不知道那会是什么。任何提示将不胜感激。

最佳答案

Symfony 3.4 不会自动加载 .env文件。您必须修改您的 app_dev.php加载文件:

use Symfony\Component\Dotenv\Dotenv;
...
$dotenv = new Dotenv();
$dotenv->load(__DIR__.'/../app/config/.env');

关于symfony - 如何在 Symfony 3.4 中的 Controller 中获取环境参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50335804/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com