每次改 .env 都得通过修改代码来改吗?.env 文件能不能通过在后台配置呢?
其实是很简单就可以实现的,把以下函数加入到你的项目中
function modifyEnv(array $data){ $envPath = base_path() . DIRECTORY_SEPARATOR . '.env'; $contentArray = collect(file($envPath, FILE_IGNORE_NEW_LINES)); $contentArray->transform(function ($item) use ($data){ foreach ($data as $key => $value){ if(str_contains($item, $key)){ return $key . '=' . $value; } } return $item; }); $content = implode($contentArray->toArray(), "\n"); \File::put($envPath, $content);}
// 你可以更新你想要的任何值 key => value $data = [ 'APP_ENV' => 'your_environment', 'APP_KEY' => 'your_key', 'APP_DEBUG' => 'trueOrFalse', 'DB_DATABASE' => 'test', 'DB_USERNAME' => 'test', 'DB_PASSWORD' => 'test', 'DB_HOST' => 'localhost', 'CACHE_DRIVER' => 'file', 'SESSION_DRIVER' => 'file',]; // 或者$data = [ 'DB_HOST' => '127.0.0.1',];// 使用函数更新modifyEnv($data);
怎样,是不是很简单,这样就可以通过后台图形化配置 Laravel 的 .env 文件啦~
欢迎加群交流学习:365969825