使用 PHP 加载 .env 文件

roo*_*eih 31 php environment-variables

我目前正在一个纯 PHP 项目上进行编码,我需要加载 .env 文件来获取一些变量。经过一番搜索后,我转向了 vlucas/phpdotenv 插件(我用 Composer 导入的),但我无法导入它!我必须使用 MVC 模型才能实现此功能吗?

索引.php:

<?php
    $dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
    $dotenv->load();
Run Code Online (Sandbox Code Playgroud)

bdd.php:

<?php

    function DBConnect() {
        $user = getenv("DB_USER");
        $pass = $_ENV["DB_PASSWORD"];
Run Code Online (Sandbox Code Playgroud)

小智 39

我找到的用于加载本地文件并获取变量的解决方案.env

$env = parse_ini_file('.env');
$header = $env["HEADER"];
Run Code Online (Sandbox Code Playgroud)

它适用于我的.env文件,如下所示:

HEADER="Location: /profile"
Run Code Online (Sandbox Code Playgroud)

  • 需要明确的是 - 当`.env`中的值没有被引用时它将不起作用(“”):) (3认同)

Bis*_*was 18

您忘记添加require_once realpath(__DIR__ . '/vendor/autoload.php');到您的index.php

.env

USER_NAME='jfBiswajit'
Run Code Online (Sandbox Code Playgroud)

索引.php

<?php

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

// Looing for .env at the root directory
$dotenv = Dotenv\Dotenv::createImmutable(__DIR__);
$dotenv->load();

// Retrive env variable
$userName = $_ENV['USER_NAME'];

echo $userName; //jfBiswajit
Run Code Online (Sandbox Code Playgroud)