gpt4 book ai didi

PHP DOTENV 无法加载环境变量

转载 作者:行者123 更新时间:2023-12-03 22:46:26 31 4
gpt4 key购买 nike

我正在使用 php dotenv用于我的 php 应用程序的环境变量。

自述文件说我可以加载 php dotenv进入我的应用程序:

$dotenv = new Dotenv\Dotenv(__DIR__);
$dotenv->load();

当我尝试登录时,出现 500 错误。我试过 var_dump我的 $dotenv var 以查看它包含的内容,但我什么也没得到。我是否错误地包括了这个?

/php/DbConnect.php:
<?php
$dotenv = new Dotenv\Dotenv(__DIR__);
$dotenv->load();

$DB_HOST = getenv('DB_HOST');
$DB_USERNAME = getenv('DB_USERNAME');
$DB_PASSWORD = getenv('DB_PASSWORD');
$DB_DATABASE = getenv('DB_DATABASE');

我的 root/composer.json 文件:
{
"require": {
"vlucas/phpdotenv": "^2.0"
}
}

我的 phpdotenv 供应商文件是:
  • root/vendor/vlucas/phpdotenv/src/Dotenv.php
  • root/vendor/vlucas/phpdotenv/src/Loader.php
  • root/vendor/vlucas/phpdotenv/src/Validator.php

  • 在我的 root/php/DbConnect.php 文件中:
    <?php
    require 'vendor/autoload.php';

    require 'vendor/vlucas/phpdotenv/src/Dotenv.php';
    require 'vendor/vlucas/phpdotenv/src/Loader.php';
    require 'vendor/vlucas/phpdotenv/src/Validator.php';
    $dotenv = new Dotenv\Dotenv(__DIR__);
    $dotenv->load();

    $DB_HOST = getenv('DB_HOST');
    ...

    我包括正确吗?

    最佳答案

    请注意 docs for DotENV不推荐使用 getenv()putenv() .相反,您应该使用 $_ENV['EXAMPLEVAR']所以这是现在正确的方法:

    require 'vendor/autoload.php';

    $dotenv = new Dotenv\Dotenv(__DIR__);
    $dotenv->load();

    $DB_HOST = $_ENV['DB_HOST'];

    关于PHP DOTENV 无法加载环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30881596/

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