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 请求中加载的方式类似。