Adding support for environment variables specified with .env root file
Publish PHP Package / docker (push) Successful in 6s
Details
Publish PHP Package / docker (push) Successful in 6s
Details
This commit is contained in:
parent
9a8e6ceb11
commit
762cfe2b2d
33
env.inc.php
33
env.inc.php
|
@ -26,6 +26,8 @@ function put_env(&$argv)
|
|||
{
|
||||
global $GAME_ROOT;
|
||||
|
||||
_set_env_vars_from_file();
|
||||
|
||||
$env = '';
|
||||
$filtered = array();
|
||||
for($i=0;$i<sizeof($argv);++$i)
|
||||
|
@ -53,6 +55,37 @@ function put_env(&$argv)
|
|||
putenv("GAME_ENV=");
|
||||
}
|
||||
|
||||
function _set_env_vars_from_file()
|
||||
{
|
||||
global $GAME_ROOT;
|
||||
|
||||
if(!file_exists($GAME_ROOT . '/.env'))
|
||||
return;
|
||||
|
||||
$var_arrs = array();
|
||||
$lines = file($GAME_ROOT . '/.env');
|
||||
foreach($lines as $line)
|
||||
{
|
||||
$line = trim($line);
|
||||
|
||||
$line_is_comment = (substr(trim($line),0 , 1) == '#') ? true: false;
|
||||
|
||||
if($line_is_comment || empty(trim($line)))
|
||||
continue;
|
||||
|
||||
// Split the line variable and succeeding comment on line if exists
|
||||
$line_no_comment = explode("#", $line, 2)[0];
|
||||
// Split the variable name and value
|
||||
$env_ex = preg_split('/(\s?)\=(\s?)/', $line_no_comment);
|
||||
$env_name = trim($env_ex[0]);
|
||||
$env_value = isset($env_ex[1]) ? trim($env_ex[1]) : "";
|
||||
$var_arrs[$env_name] = $env_value;
|
||||
}
|
||||
|
||||
foreach($var_arrs as $k => $v)
|
||||
putenv("$k=$v");
|
||||
}
|
||||
|
||||
function set_root_env_name($root_name)
|
||||
{
|
||||
$GLOBALS['TASKMAN_ROOT_ENV_NAME'] = $root_name;
|
||||
|
|
Loading…
Reference in New Issue