通过 Laravel 更新 .env 值

kyo*_*kyo 3 php environment-variables laravel laravel-5 laravel-5.1

例如,如果我的.env

APP_ENV=local
APP_URL=http://localhost:8888/
APP_DEBUG=true
FACEBOOK_APP_ID = ABC
Run Code Online (Sandbox Code Playgroud)

我知道在 Laravel 中我们可以通过这样做来访问我们的 .env 文件

echo env('APP_ENV'); --> 'local'
echo env('APP_URL'); --> 'http://localhost:8888/'
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有办法以编程方式设置它

Ex. env('APP_ENV') == 'production';
Run Code Online (Sandbox Code Playgroud)

小智 8

这可能会有所帮助。

function setEnv($name, $value)
{
    $path = base_path('.env');
    if (file_exists($path)) {
        file_put_contents($path, str_replace(
            $name . '=' . env($name), $name . '=' . $value, file_get_contents($path)
        ));
    }
}
setEnv('APP_ENV','abc');
Run Code Online (Sandbox Code Playgroud)