我在所有阶段都有不同的密码。我在.env文件中也有不同的设置。
我最终做的是在文件更改到舞台后手动上传.env文件,手动设置正确的密码和密钥。有没有更好的办法,也许是官方的拉拉维尔方式?
再次:
我说:.env
DB_DATABASE=myDBnameLocal
DB_USERNAME=myuserLOCAL
DB_PASSWORD=mypasswordLOCAL
分段等的不同值
我宁愿拥有3个不同的文件,还有第4个文件,我将环境设置为
说一个.stage
,我在其中定义了我的应用所在的环境。根据该值,我加载了正确的.env
文件。
有没有办法做这样的事情,或者有办法完全不同吗?
说在一个大文件中定义所有密码并调用如下内容:
DB_DATABASE_LOCAL=myDBnameLocal
DB_USERNAME_LOCAL=myuserLOCAL
DB_PASSWORD_LOCAL=mypasswordLOCAL
DB_DATABASE_PRODUCTION=myDBnamePRODUCTION
DB_USERNAME_PRODUCTION=myuserPRODUCTION
DB_PASSWORD_PRODUCTION=mypasswordPRODUCTION
尽管这似乎不太安全。
答案 0 :(得分:1)
他们现在正在做的事情是正确的方式,这是保持环境文件与每个环境不同的方法。因为现在您知道每个环境都有什么,并且您可以在环境参数更改时更改任何文件,例如说你的数据库在临时区域被改变了。
将.env中的生产设置保留为本地是致命的,为什么?
通过将生产/暂存设置保持在同一文件中,您将使用IF和BUTS,例如
if( env('APP_ENV') === 'local' ) {
$username = env('DB_LOCAL_USERNAME');
}
现在您需要记录变量在哪个环境中的变化,并使所有变量在所有环境中保持同步。
这一切都来自我的观点。