Skip to content

Commit 41a3864

Browse files
committed
Issue #1 Fix loading of .env file
1 parent a4005af commit 41a3864

File tree

5 files changed

+20
-15
lines changed

5 files changed

+20
-15
lines changed

CHANGELOG.md

+5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# CHANGELOG
22

3+
## 0.9.1
4+
5+
* Fix Issue #1: `.env` file not always processed
6+
7+
Initial release.
38
## 0.9.0
49

510
Initial release.

src/Config.php

+5-5
Original file line numberDiff line numberDiff line change
@@ -235,14 +235,14 @@ public static function initEnv($directory = null)
235235
}
236236

237237
// Define main Yii environment variables
238-
if (isset($_ENV['YII_DEBUG'])) {
239-
define('YII_DEBUG', (bool)$_ENV['YII_DEBUG']);
238+
if (getenv('YII_DEBUG') !== false) {
239+
define('YII_DEBUG', (bool)getenv('YII_DEBUG'));
240240
if (YII_DEBUG) {
241241
error_reporting(E_ALL);
242242
}
243243
}
244-
if (isset($_ENV['YII_ENV'])) {
245-
define('YII_ENV', $_ENV['YII_ENV']);
244+
if (getenv('YII_ENV') !== false) {
245+
define('YII_ENV', getenv('YII_ENV'));
246246
}
247247
}
248248

@@ -261,7 +261,7 @@ public static function env($name, $default = null, $required = false)
261261
if ($required) {
262262
\Dotenv::required($name);
263263
}
264-
return isset($_ENV[$name]) ? $_ENV[$name] : $default;
264+
return getenv($name) === false ? $default : getenv($name);
265265
}
266266

267267
}

tests/ConsoleConfigTest.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ public function testCanMergeCustomConfig()
4747
public function testCanMergeLocalConfigByEnvVar()
4848
{
4949
$config = new Config(__DIR__ . '/app');
50-
$_ENV['ENABLE_LOCALCONF'] = 1;
50+
putenv('ENABLE_LOCALCONF=1');
5151
$console = $config->console([
5252
'key5' => 'test',
5353
]);

tests/EnvTest.php

+8-8
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ class EnvTest extends \PHPUnit_Framework_TestCase
55
{
66
public function testCanInitYiiEnvFromEnvVars()
77
{
8-
$_ENV['YII_DEBUG'] = true;
9-
$_ENV['YII_ENV'] = 'prod';
8+
putenv('YII_DEBUG=1');
9+
putenv('YII_ENV=prod');
1010
Config::initEnv();
1111

1212
$this->assertTrue(defined('YII_DEBUG'));
@@ -27,8 +27,8 @@ public function testCanInitYiiEnvFromEnvFile()
2727

2828
public function testCanGetEnvVars()
2929
{
30-
$_ENV['TEST1'] = 987;
31-
$_ENV['TEST2'] = 'demo';
30+
putenv('TEST1=987');
31+
putenv('TEST2=demo');
3232

3333
$this->assertEquals(987, Config::env('TEST1'));
3434
$this->assertEquals('demo', Config::env('TEST2'));
@@ -48,8 +48,8 @@ public function testCanGetEnvVarsFromEnvFile()
4848

4949
public function testEnvFileDoesNotClearEnvVars()
5050
{
51-
$_ENV['TEST1'] = 654;
52-
$_ENV['TEST2'] = 'xyz';
51+
putenv('TEST1=654');
52+
putenv('TEST2=xyz');
5353
Config::initEnv(__DIR__ . '/app');
5454

5555
$this->assertEquals(654, Config::env('TEST1'));
@@ -61,8 +61,8 @@ public function testEnvFileDoesNotClearEnvVars()
6161

6262
public function testEnvFileDoesNotOverrideEnvVars()
6363
{
64-
$_ENV['VAR1'] = 654;
65-
$_ENV['VAR2'] = 'xyz';
64+
putenv('VAR1=654');
65+
putenv('VAR2=xyz');
6666
Config::initEnv(__DIR__ . '/app');
6767

6868
$this->assertEquals('', Config::env('YII_DEBUG'));

tests/WebConfigTest.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ public function testCanMergeCustomConfig()
4343
public function testCanMergeLocalConfigByEnvVar()
4444
{
4545
$config = new Config(__DIR__ . '/app');
46-
$_ENV['ENABLE_LOCALCONF'] = 1;
46+
putenv('ENABLE_LOCALCONF=1');
4747
$web = $config->web([
4848
'key5' => 'test',
4949
]);

0 commit comments

Comments
 (0)