(php)thinkphp3配置多源數據庫

之前說了thinkphp配置sql_server的方法,現在來說一下,sql_server和mysql的切換問題,也就是所說的多源數據庫.

不知道大家有沒有配置過多數據庫,其實大部分框架都會支持多數據庫的,不說沒用了,下面直接給出我在tp3.2裏面的配置:

config.php

    /* 數據庫設置 */
    'DB_TYPE'               =>  '',     // 數據庫類型
    'DB_HOST'               =>  '', // 服務器地址
    'DB_NAME'               =>  '',          // 數據庫名
    'DB_USER'               =>  '',      // 用戶名
    'DB_PWD'                =>  '',          // 密碼
    'DB_PORT'               =>  '',        // 端口
    'DB_PREFIX'             =>  '',    // 數據庫表前綴
    'DB_PARAMS'              =>  array(), // 數據庫連接參數    
    'DB_DEBUG'              =>  TRUE, // 數據庫調試模式 開啓後可以記錄SQL日誌
    'DB_FIELDS_CACHE'       =>  true,        // 啓用字段緩存
    'DB_CHARSET'            =>  'utf8',      // 數據庫編碼默認採用utf8
    'DB_DEPLOY_TYPE'        =>  0, // 數據庫部署方式:0 集中式(單一服務器),1 分佈式(主從服務器)
    'DB_RW_SEPARATE'        =>  false,       // 數據庫讀寫是否分離 主從式有效
    'DB_MASTER_NUM'         =>  1, // 讀寫分離後 主服務器數量
    'DB_SLAVE_NO'           =>  '', // 指定從服務器序號

    //鏈接sql_server數據庫
     'DBCong2'=>array(
            /* 數據庫設置 */
            'DB_TYPE'               =>  '',     // 數據庫類型
            'DB_HOST'               =>  '', // 服務器地址
            'DB_NAME'               =>  '',          // 數據庫名
            'DB_USER'               =>  '',      // 用戶名
            'DB_PWD'                =>  '',          // 密碼
            'DB_PORT'               =>  '',        // 端口
            'DB_PREFIX'             =>  '',    // 數據庫表前綴
            'DB_PARAMS'             =>  array(), // 數據庫連接參數    
            'DB_DEBUG'              =>  TRUE, // 數據庫調試模式 開啓後可以記錄SQL日誌
            'DB_FIELDS_CACHE'       =>  true,        // 啓用字段緩存
            'DB_CHARSET'            =>  'utf8',      // 數據庫編碼默認採用utf8
            'DB_DEPLOY_TYPE'        =>  0, // 數據庫部署方式:0 集中式(單一服務器),1 分佈式(主從服務器)
            'DB_RW_SEPARATE'        =>  false,       // 數據庫讀寫是否分離 主從式有效
            'DB_MASTER_NUM'         =>  1, // 讀寫分離後 主服務器數量
            'DB_SLAVE_NO'           =>  '' // 指定從服務器序號
        )

第一個數據庫連接沒加外層的數組,是因爲我這個配置是在項目已經開發大半了.不可能再回頭重新改一遍,想想這樣應該也可以,所以就沒加,結果不出所料.

項目裏面:(例:testController.class.php)

    public function test(){
        $data = M('ceshi',' ','DBCong2')->select();
        // $data = $Model->where(['id'=>1])
        
        $data2 = M("news")->limit(9)->select();
        dump($data);
        echo '<br>';
        dump($data2);exit;

    }


下面是成功的輸出結果:


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章