php - 通过 laravel 中的控制器更改环境值
问题描述
有什么方法可以.env
从 laravel 中的控制器更改我的文件值?
我找到了这个答案,但它返回了
未定义属性:App\Http\Controllers\Admin\PerformanceController::$laravel
代码
$path = base_path('.env');
$key = false;
if (file_exists($path)) {
file_put_contents($path, str_replace(
'APP_KEY='.$this->laravel['config']['app.key'], 'APP_DEBUG='.$key, file_get_contents($path)
));
}
我想在我的管理面板中有选项来在真或假之间更改调试模式,就像我们在控制器中使用工匠命令Artisan::call('down')
或Artisan::call('up')
类似的东西一样。
更新
现在我有这个代码
$path = base_path('.env');
$key = 'true';
if (file_exists($path)) {
file_put_contents($path, str_replace(
'APP_DEBUG='.config('app.debug'), 'APP_DEBUG='.$key, file_get_contents($path)
));
}
此代码确实有效,但问题是它不会删除旧值。
前
APP_DEBUG=false
后
APP_DEBUG=truefalse
or
APP_DEBUG=falsefalse
任何想法?
解决方案
使用这个 DotenvEditor::setKey('APP_KEY', 'new_value')->save();
推荐阅读
- php - 如何显示登录/注销按钮();在 html 标题中?
- spring - 使用 Spring Boot 和 Micrometer 在 Dynatrace 中创建度量时出错
- excel - Excel VBA 结合了两个工作表更改
- c# - .NET CORE 如何通过部分视图弹出绑定视图模型中的对象列表
- java - 没有接口方法stream()Ljava/util/stream/Stream;
- python-3.x - 如何在 python ElementTree 模块中创建子元素的子元素?
- eclipse - 在使用 java 11 的 gradle 插件中使用 xml 库时出错
- c# - “异步”是否在单独的线程中运行?
- java - Spring Data & PostgreSQL:错误:运算符不存在:uuid = 结果(当 UUID 列表大小 > 1 时)
- arrays - 如何在 Tensorflow 中保持堆叠张量