PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

ThinkPHP6中env环境变量的使用

autoload
autoload 原创
2021-03-30 17:02:12 6093浏览

1.配置 env

    默认安装后的根目录有一个.example.env环境变量示例文件,可以直接改成.env文件后进行修改。

APP_DEBUG = true

[APP]
DEFAULT_TIMEZONE = Asia/Shanghai

[DATABASE]
TYPE = mysql
HOSTNAME = 127.0.0.1
DATABASE = test
USERNAME = username
PASSWORD = password
HOSTPORT = 3306
CHARSET = utf8
DEBUG = true

[LANG]
default_lang = zh-cn

2.调用 env

  • 要使用env,在thinkphp6的初代版中必须先引入 think\facade\env 门面类,但是在后续更新中,直接使用了助手函数env(),减少了很多的麻烦。

  • 环境变量的获取不区分大小写

    在ThinkPHP6的目录下的config文件夹中,database.php便是对数据库的具体配置

Snipaste_2021-03-30_16-51-36.png

    具体内容如下:

<?php

return [
    // 默认使用的数据库连接配置
    &#39;default&#39;         => env(&#39;database.driver&#39;, &#39;mysql&#39;),

    // 自定义时间查询规则
    &#39;time_query_rule&#39; => [],

    // 自动写入时间戳字段
    // true为自动识别类型 false关闭
    // 字符串则明确指定时间字段类型 支持 int timestamp datetime date
    &#39;auto_timestamp&#39;  => true,

    // 时间字段取出后的默认时间格式
    &#39;datetime_format&#39; => &#39;Y-m-d H:i:s&#39;,

    // 数据库连接配置信息
    &#39;connections&#39;     => [
        &#39;mysql&#39; => [
            // 数据库类型
            &#39;type&#39;            => env(&#39;database.type&#39;, &#39;mysql&#39;),
            // 服务器地址
            &#39;hostname&#39;        => env(&#39;database.hostname&#39;, &#39;127.0.0.1&#39;),
            // 数据库名
            &#39;database&#39;        => env(&#39;database.database&#39;, &#39;&#39;),
            // 用户名
            &#39;username&#39;        => env(&#39;database.username&#39;, &#39;root&#39;),
            // 密码
            &#39;password&#39;        => env(&#39;database.password&#39;, &#39;&#39;),
            // 端口
            &#39;hostport&#39;        => env(&#39;database.hostport&#39;, &#39;3306&#39;),
            // 数据库连接参数
            &#39;params&#39;          => [],
            // 数据库编码默认采用utf8
            &#39;charset&#39;         => env(&#39;database.charset&#39;, &#39;utf8&#39;),
            // 数据库表前缀
            &#39;prefix&#39;          => env(&#39;database.prefix&#39;, &#39;&#39;),

            // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
            &#39;deploy&#39;          => 0,
            // 数据库读写是否分离 主从式有效
            &#39;rw_separate&#39;     => false,
            // 读写分离后 主服务器数量
            &#39;master_num&#39;      => 1,
            // 指定从服务器序号
            &#39;slave_no&#39;        => &#39;&#39;,
            // 是否严格检查字段是否存在
            &#39;fields_strict&#39;   => true,
            // 是否需要断线重连
            &#39;break_reconnect&#39; => false,
            // 监听SQL
            &#39;trigger_sql&#39;     => env(&#39;app_debug&#39;, true),
            // 开启字段缓存
            &#39;fields_cache&#39;    => false,
        ],

        // 更多的数据库配置信息
    ],
];

推荐:Thinkphp6》《PHP视频教程》《最新的10个thinkphp视频教程推荐

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。