【问题标题】:phpdotenv not working with me and showing blank pagephpdotenv 不与我一起工作并显示空白页
【发布时间】:2021-06-01 13:19:03
【问题描述】:

我是 vlucas/phpdotenv 的新手,我想在项目中使用它之前对其进行测试,所以我创建了一个测试文件夹并在其中安装了 vlucas/phpdotenv,这是我的代码页:

<?php

require_once realpath(__DIR__ . "/vendor/autoload.php");

use Dotenv\Dotenv;

$dotenv =  Dotenv::createImmutable(__DIR__);

$dotenv->load();

$app_name = getenv("APP_NAME");

echo $app_name;

?>

没有输出我只得到一个空白页,当我制作var_dump($app_name);时出现错误

bool(false)

有什么问题?

【问题讨论】:

  • getenv在环境变量不存在时返回false,所以bool(false)不是错误,php.net/manual/en/function.getenv.php。我对Dotenv不熟悉,但是APP_NAME环境变量不存在或者没有加载。
  • 您的 .env 文件是否在正确的路径中?
  • APP_NAME 正确,.env 文件在正确的路径中

标签: php environment-variables


【解决方案1】:

我遇到了和你一样的问题,但是我用下面的代码解决了。

<?php
  require './vendor/autoload.php';
  Dotenv\Dotenv::createImmutable(__DIR__)->load();
  $stripeSecretKey = $_ENV['STRIPE_SECRET_KEY'];
  echo $stripeSecretKey;

.env文件内容

STRIPE_SECRET_KEY=sk_test_1234567890123456

【讨论】:

    【解决方案2】:

    我使用了 Node.js 的旧版本和 vlucas/phpdotenv 的旧版本,它可以工作!

    【讨论】:

      【解决方案3】:

      对于任何发现此内容并想知道为什么 theres 不起作用的人。 getenv 不久前被标记为不安全,您必须在脚本中使用 Dotenv::createUnsafeImmutable 实例化 dotenv 才能使用 getenv() 而不是 $_ENV,尽管不建议这样做。

      【讨论】:

        猜你喜欢
        • 2015-11-23
        • 2017-01-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-07
        • 1970-01-01
        • 2020-04-15
        • 2020-03-27
        相关资源
        最近更新 更多