zoukankan      html  css  js  c++  java
  • 配置thinkphp对mysql线上线下切换不同环境的配置

    1.先打印出配置项的信息,在Index控制器下面的index->index里面设置

    namespace appindexcontroller;
    
    class Index
    {
        public function index()
        {
            dump(config());
        }
    }

    2.在总入口文件,thinkphp是单入口文件(和vue很像,vue也是单html的),在public/index.php加一行

    define('CONF_PATH', __DIR__.'/../conf/');

    3.在config或者app的同级放conf目录,创建3个文件,config.php, home.php,line.php,分别放置默认配置项,本地的配置项,在线配置项

    4.然后在config.php里面写

    <?php
         return [
            'app_status' => 'line'
        ];
    ?>

    5.分别在home.php和line.php里面写下数据库配置,可以去thinkphp目录下面的convention.php里面拷贝粘贴进去

    <?php
         return [
           'database' => [// 数据库类型
                'type'            => 'mysql',
                // 数据库连接DSN配置
                'dsn'             => '',
                // 服务器地址
                'hostname'        => '127.0.0.1',
                // 数据库名
                'database'        => '',
                // 数据库用户名
                'username'        => 'root',
                // 数据库密码
                'password'        => '',
                // 数据库连接端口
                'hostport'        => '',
                // 数据库连接参数
                'params'          => [],
                // 数据库编码默认采用utf8
                'charset'         => 'utf8',
                // 数据库表前缀
                'prefix'          => '',
                // 数据库调试模式
                'debug'           => false,
                // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)
                'deploy'          => 0,
                // 数据库读写是否分离 主从式有效
                'rw_separate'     => false,
                // 读写分离后 主服务器数量
                'master_num'      => 1,
                // 指定从服务器序号
                'slave_no'        => '',
                // 是否严格检查字段是否存在
                'fields_strict'   => true,
                // 数据集返回类型
                'resultset_type'  => 'array',
                // 自动写入时间戳字段
                'auto_timestamp'  => false,
                // 时间字段取出后的默认时间格式
                'datetime_format' => 'Y-m-d H:i:s',
                // 是否需要进行SQL性能分析
                'sql_explain'     => false,
                ]
           ];
    ?>

    账户和密码,根据线上和本地不同配置不同的。

    6.然后替换config里面的

    app_status的值,就能切换线上和本地不同的数据库密码,不需要每次上线修改一大串代码

    刷新页面可以看到不同的配置信息

  • 相关阅读:
    QT 信号与槽 中传递自定义数据类型
    keil5 仿真时发现函数不能进入到main函数
    QT 报错分析 一
    QT 简易时间处理
    QT 编译出现 Custom Executable 对话框 问题
    win10 下装ubuntu双系统
    Vmware linux下不能联网
    Vmware Workstation
    免费在线作图,实时协作
    SVN常用问题汇总
  • 原文地址:https://www.cnblogs.com/chenyi4/p/12335504.html
Copyright © 2011-2022 走看看