laravel

Извлечь параметр из .env файла

Если у вас есть экспериментальный проект который не должен касаться Laravel, а взять параметры из его `.env` файла хочется тогда придется распарсить файл нестандартной функцией, потому что APP_KEY содержит base64 который parse_ini_file() не переваривает, к сожалению.

function getParam($param,$file){
    $fp = fopen($file, 'r');
    while (($line = fgets($fp)) !== false) {
        if (preg_match("~.*\b$param(.*)~", $line, $matches)){
            return $matches[1];
        }
    }
    return false;
}

$DB_USERNAME = getParam('DB_USERNAME=',"/var/www/$_SERVER[HTTP_HOST]/html/.env");
$DB_PASSWORD = getParam('DB_PASSWORD=',"/var/www/$_SERVER[HTTP_HOST]/html/.env");

update 09.12.2019: Существует уже полноценный composer пакет для такой простой операции: https://github.com/vlucas/phpdotenv

Leave a reply