
暂无个人描述~
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
高认可度评论:
你错了,动态的修改不应该存放在.env里面。要区分好“配置”和“设置”,“设置”最好存放在数据库,或者nacos、etcd一类的东西当中。
为什么要改这个文件
没听说过动态修改 .env 参数的,那 config 还怎么读取环境配置?
这个文件在调用 artisan config:cache 时候是会缓存的,如果需要动态配置 config 相关数据,可以在 ServiceProvider 中调用 config 函数动态配置,不知这样可否满足要求?
可以写在数据库里啊我项目就是首次启动时将配置放入数据库中,后续就读数据库了
先用
env('xxx')
和config('xxx')
查看是否不一样判断是哪里的问题, 然后再去进行下一步我记得在 Laravel 中是可以把配置缓存起来的,也可以缓存路由,清理下缓存试试看把
执行这个
php artisan
命令,看看都是什么功能你错了,动态的修改不应该存放在.env里面。要区分好“配置”和“设置”,“设置”最好存放在数据库,或者nacos、etcd一类的东西当中。
动态配置在AppServiceProvider.php的boot方法中加载就行了啥
配置保存在数据库中,加载时用缓存读取后转到config中
//试例在AppServiceProvider中的boot加入以下代码
为了减少数据库查询
$configs = DB::table(‘config’)->pluck(‘value’,’key’);这个应换成缓存,当数据表有增删改时删除缓存就行,
在程序任意地方调用就是
config($key);//假如有一个key为web_name;调用就是config(‘web_name’)
以前用的 consul
这三个项目可供参考:
提供一个简单的方案。
定义:
使用:
function modifyEnv($timeZone='Europe/Berlin') { $data=[]; if(empty($timeZone)){ $timeZone='Europe/Berlin'; } $data['APP_TIMEZONE']=$timeZone;
最终都是载入 config,不如动态修改 config 而不是 env
可以自己部署一个deploy后台,直接读取目录下的env文件并打开,修改参数并保存后触发缓存刷新逻辑即可
代码速记:LARAVEL 清空某文件夹下的所有文件 修改env配置文件
人家是想要修改env文件 不是谈论如何修改配置 更好 应该从怎么修改env文件进行回答吧!
修改env就失去了env的意义了,env本身就是为了手动修改不影响程序代码而出来的,要修改就直接config了
需要动态修改的配置,不要放config和env,你应该放到一个独立的settings并且支持分布式缓存。
可参考 php artisan key:generate 这个命令里的代码: vendor\laravel\framework\src\Illuminate\Foundation\Console\KeyGenerateCommand.php