ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

laravel 修改env内容

laravel 修改env内容

Laravel 11以上版本的处理逻辑

 // 要更新的环境变量
$updates = [
'APP_LOCALE' => $new_locale,
'APP_FALLBACK_LOCALE' =>$new_locale,
'APP_FAKER_LOCALE' => $new_locale,
];
updateEnv($updates);
function updateEnv(array $values): bool{$envFile = base_path('.env');if (!file_exists($envFile)) {return false;}// 读取当前 .env 内容$contents = file_get_contents($envFile);// 更新每个指定的值foreach ($values as $key => $value) {// 转义值中的特殊字符$escapedValue = '"' . addcslashes($value, '"') . '"';$escapedValue = str_replace('"','',$escapedValue);// 替换或添加新的键值对if (preg_match("/^{$key}=.*/m", $contents)) {$contents = preg_replace("/^{$key}=.*/m","{$key}={$escapedValue}",$contents);} else {$contents .= PHP_EOL . "{$key}={$escapedValue}";}}// 写入文件return file_put_contents($envFile, $contents) !== false;}
返回列表