欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

Laravel 中的 config/app.php 和 env 关系是怎样的

app.php 中通过env(key,defaultValue)函数读取.env文件中对应的配置值,如果没有读取到指定key的配置,那么使用defaultValue作为默认值

来自
https://zhidao.baidu.com/question/1451188505375673100.html

两个文件都是配置文件, 后者是环境变量.

最初我以为现有配置文件, 然后根据配置文件生成环境变量. 但是我在使用 laravel CLI 部署新项目后, 前者中仍然是 'key' => env('APP_KEY', 'SomeRandomString') , 后者已经有了 APP_KEY=aaaaao8gmXCOVEjXAY9ePfY9HIcbbbbb 这个. 两者不一致.

是否两者的作用域不一样?
它们的关系是怎样的?

我参考了:
1. http://laravel.com/docs/5.0/configuration#environment-configuration
2. https://laracasts.com/discuss/channels/site-improvements/configappphp-should-not-have-environment-dependent-configurations

 

但还是理解得不够好, 请详解.

新手.

 
2 回复  |  直到 2015-05-27 18:59:34 +08:00
 
    1
 
lbp0200   2015-05-27 12:14:39 +08:00 via Android
 
去掉env方法,你就发现奥秘了
 
    2
 
bearcat001   2015-05-27 18:59:34 +08:00
 
app.php里面用env()是为了让这个选项在不同环境下有不同的值,不同环境下变量在不同.env.xxx文件里
来自 https://www.v2ex.com/t/194070

使用laravel框架开发PHP程序,配置框架的.env文件是至关重要的,这个文件上需要配置数据库、数据库用户以及缓存等

1,配置APP_KEY

laravel框架默认在.env配置文件中硬编码了对称加密密钥,开发环境和生产环境不必且应严格禁止使用相同的APP_KEY

在项目中运行php artisan key:generate就会在.env文件中自动生成密钥。

 

    APP_KEY=Li0zqXhuxOlnsMtG90UsU**********

2,配置数据库及数据库用户
   (1)创建数据库
	使用命令mysql < init_db.sql 执行脚本来创建数据库
   (2)创建数据库用户
	使用命令mysql < create_usr.sql执行脚本来创建用户
	这里创建两个用户,一个cloudlab_dev用户具有Insert,Select,Delete,Update,CREATE权限
		一个cloudlab_dba具有Insert,Select,Delete,Update,ALTER,CREATE,DROP,INDEX,LOCK权限。
一般情况下使用cloudlab_dev用户,在建表操作时使用cloudlab_dba
结果:
DB_HOST=127.0.0.1
DB_DATABASE=cloudlab
DB_USERNAME=cloudlab-dev
DB_PASSWORD=cloudla******

DB_USERNAME_DBA=cloudlab-dba
DB_PASSWORD_DBA=cloud*******

来自 http://blog.csdn.net/gent__chen/article/details/50962907
普通分类: