Laravel 实现后台修改 .env 配置文件

    选择打赏方式

每次改 .env 都得通过修改代码来改吗?.env 文件能不能通过在后台配置呢?

其实是很简单就可以实现的,把以下函数加入到你的项目中

1.new一个函数

function aseditEnv(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);
}

2.使用示例

// 你可以更新你想要的任何值 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',
];

// 使用函数更新
aseditEnv($data);

版权声明:若无特殊注明,本文为《傲世》原创,转载请保留文章出处。
本文链接:https://www.recho.cn/165.html
如您对本文章内容有所疑问、反馈或补充,欢迎通过邮箱:admin@h2fast.cn 联系我们!
正文到此结束

热门推荐