Yii 1 控制台应用程序环境变量
Yii 1 Console Application Environment Variables
对于 Yii 1 网络应用程序,我使用 symfony/dotenv
库从 .env 文件读取和加载环境变量。为此,我在 index.php 文件中添加了一段代码,
require 'vendor/autoload.php'; //autoload for composer
if(file_exists('/path/to/.env')){
$dotenv = new Symfony\Component\Dotenv\Dotenv();
$dotenv->load(__DIR__.'/path/to/.env');
}
else{
// Missing .env file
exit;
}
这适用于网络应用程序。然而,对于 Yii 控制台应用程序,这不起作用,因为 index.php 没有被加载。这可以在 console.php 文件中完成吗?怎么样?
对于控制台应用程序,您可以在 protected/yiic.php
中执行相同的操作。当您调用 ./yiic
时,此文件用于 bootstrap,其方式与 index.php
在 Web 请求中加载的方式类似。
对于 Yii 1 网络应用程序,我使用 symfony/dotenv
库从 .env 文件读取和加载环境变量。为此,我在 index.php 文件中添加了一段代码,
require 'vendor/autoload.php'; //autoload for composer
if(file_exists('/path/to/.env')){
$dotenv = new Symfony\Component\Dotenv\Dotenv();
$dotenv->load(__DIR__.'/path/to/.env');
}
else{
// Missing .env file
exit;
}
这适用于网络应用程序。然而,对于 Yii 控制台应用程序,这不起作用,因为 index.php 没有被加载。这可以在 console.php 文件中完成吗?怎么样?
对于控制台应用程序,您可以在 protected/yiic.php
中执行相同的操作。当您调用 ./yiic
时,此文件用于 bootstrap,其方式与 index.php
在 Web 请求中加载的方式类似。