添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

.env 文件的配置

在 Laravel 开发中,可以把加密 Key、数据库、缓存等配置信息放到 .env 文件中,自定义的一些配置信息也可以存储在 .env 文件中。

通常情况下我们把本机环境、开发环境或者协作开发者之间差异的信息存放在这个文件中,在做版本控制时,.env 文件建议忽略掉,方便本机、线上和协作者用差异化配置。

APP_KEY 配置

一个随机字符串,用于 Laravel 的 encrypt 加密服务(比如 cookie 加密),可以通过命令 php artisan key:generate 生成。

APP_DEBUG 配置

默认为 true ,建议开发环境开启,方便我们调试。

注意:线上环境一定要设置为 false,不然可能会泄漏数据库配置等服务器机密信息。

数据库配置

DB_CONNECTION:数据库连接方式,这里保持默认的 mysql 不变
DB_HOST:数据库地址,保持默认的 127.0.0.1不变,如果使用的远程数据库或者单独的数据库服务器,填写数据库服务器的 IP 或者域名地址即可。
DB_PORT:数据库连接端口,mysql 默认的是 3306,可以保持不变
DB_DATABASE:数据库名
DB_USERNAME:拥有操作DB_DATABASE 数据库权限的用户名
DB_PASSWORD:用户名密码

Session 超时时间设置

SESSION_LIFETIME:默认是 120,单位是分钟。本教程没有使用登陆认证,在下一课程中会使用到。

config 文件的配置

自定义 config 文件

Laravel 的配置文件都位于根目录下的 config 文件夹下。为了方便管理,如果我们有自定义配置需求,可以在 config 文件夹下新建一个文件来存储自定义配置信息,返回 Array 数组即可。

// 文件名 myapp.php return [ 'config_name1' => 'value', // 直接赋值 'config_name2' => env('value', 'hello 麻辣讲'), // 从 .env 文件中读取配置,env 的第二个参数用来设置默认值

读取 config 值

在 Controller 控制器中读取 config 值: config(‘配置文件名.键名’) ,如:config(‘myapp.config_name1);

在 blade 视图模板中读取 config 值: {{ config(‘myapp.config_name1’) }} ,加上 blade 模板的解析符号 {{}} 即可。

时区配置

如果没有国际化需求的话,建议设置 Laravel 系统的默认时区为东八区(中国标准时区)。不然你会发现从数据库读取的时间,比我们提交的时间要少 8 个小时。

打开 config/app.php 文件,找到 ‘timezone’ 参数,把默认的 UTC 世界标准时间修改为 ’Asia/Shanghai’。

特别注意: cookie 名和cache 前缀设置

Laravel 默认设置有 cookie 和 cache 的前缀的,如果有需要自定义前缀或者使用 cache 名查询的需求,请注意这些前缀设置。

cookie 名称设置:打开 config/session.php 文件,找到 cookie 参数,默认前缀是 APP_NAME 或者 laravel,名称为 laravel_session,可以在 .env 文件中配置 SESSION_COOKIE 来设置新的名称。

cache 前缀设置:打开 config/cache.php 文件,找到 prefix 参数,默认前缀是 APP_NAME 或者 laravel 加上 ‘_cache’,可以在 .env 文件中配置 CACHE_PREFIX 来设置新的前缀。

MySQL 数据库的特别设置

打开 config/database.php 数据库配置文件,找到 55、56 行,会发现 charset(字符集)设置为 utf8mb4,collation(字符序)设置为 utf8mb4_unicode_ci。

在过往的 mysql 相关的开发中,使用的 utf-8 字符集比较多。相比只能存储 3 字节的 utf-8 ,utf8mb4 可以存储 4 字节的字符(比如 4 字节的 Unicode 字符 emoji 表情)。

注意:MySQL 在 5.5.3 版本之后增加了 utf8mb4 的编码。

建议安装 MySQL 5.7 或者 8.0 版本,并且在新建数据库时,排序规则选择 utf8mb4_unicode_ci