如何创建和使用环境变量.env yii2

如何创建和使用环境变量.env yii2,yii2,Yii2,我想创建一个文件。env: FACEBOOK_CLIENT_ID=***** FACEBOOK_CLIENT_SECRET=***** 并使用变量进行配置 'facebook' => [ 'class' => 'yii\authclient\clients\Facebook', 'clientId' => env('FACEBOOK_CLIENT_ID'), 'clientSe

我想创建一个文件。env:

 FACEBOOK_CLIENT_ID=*****
 FACEBOOK_CLIENT_SECRET=*****
并使用变量进行配置

'facebook' => [
                'class' => 'yii\authclient\clients\Facebook',
                'clientId' => env('FACEBOOK_CLIENT_ID'),
                'clientSecret' => env('FACEBOOK_CLIENT_SECRET'),
            ],

您可以利用Environment常量对此进行归档。如果在将应用程序初始化为dev或production时使用Yii2 advanced,yii将在index.php条目脚本中设置一个常量yii_ENV作为dev或production

如果您使用的是yii basic,您可以根据您的环境进行设置。例如,我们想要为开发人员定义配置

我们将继续编辑/web/index.php以

defined('YII_ENV') or define('YII_ENV', 'dev');
然后在我们的配置文件中,我们将有以下内容

'facebook' => [
    'class' => 'dektrium\user\clients\Facebook',
    'clientId' => (YII_ENV_DEV ? 'Your key when in developent' : 'Your Key if not in developement'),
    'clientSecret' => (YII_ENV_DEV ? 'Your key when in developent' : 'Your Key if not in developement'),
],

有关环境常数的更多详细信息,请参阅本手册。我已经找到了解决方案

我使用软件包


谢谢大家

您可以使用Symfony提供的dotenv软件包

在PHP文件中使用它

use Symfony\Component\Dotenv\Dotenv;

$dotenv = new Dotenv();
$dotenv->load(__DIR__.'/.env');

// You can also load several files
$dotenv->load(__DIR__.'/.env', __DIR__.'/.env.dev');
.env文件

DB_USER=root
DB_PASS=pass
$dbUser = $_ENV['DB_USER'];
// you can also use ``$_SERVER``
从.env文件访问变量

$dbUser = $_ENV['DB_USER'];
// you can also use ``$_SERVER``

你的问题到底是什么?谢谢,我已经找到了解决方案。这个模块对我来说非常好。我不知道为什么有人会给你一个否定的答案。我尝试过使用它,但不知道在哪里加载它,以便在任何地方使用。你是怎么做到的?