【发布时间】:2017-08-01 08:05:09
【问题描述】:
例如,如果我的 .env 是
APP_ENV=local
APP_URL=http://localhost:8888/
APP_DEBUG=true
FACEBOOK_APP_ID = ABC
我知道在 Laravel 中我们可以通过这样做来访问我们的 .env 文件
echo env('APP_ENV'); --> 'local'
echo env('APP_URL'); --> 'http://localhost:8888/'
但我想知道是否有办法以编程方式设置它
Ex. env('APP_ENV') == 'production';
【问题讨论】:
-
您必须写入该文件,但通常最好将您的 Laravel 安装配置为没有权限这样做。不过,
config('app.env', 'production')会覆盖 current 请求的配置值。 -
我只是以APP_ENV为例,但实际上我想更新FACEBOOK_APP_ID之类的其他内容,基于某个帐户等...
-
如果我想在我的 .env 文件中更新我的
FACEBOOK_APP_ID,这个config('FACEBOOK_APP_ID.env', '123')是否有效?或者类似的东西? -
不,不会的。您确实应该通过部署系统或直接编辑来更改
.env文件。 -
.env 文件不应该是您的配置文件,而是您的配置模板。您的设置应该存储在外部,最好是作为环境变量存储在您的主机中。此外,能够像这样编辑它是一种非常糟糕的安全做法......你真的不想这样做。
标签: php laravel laravel-5 environment-variables laravel-5.1