|
本文較為詳細(xì)的講述了Thinkphp連接數(shù)據(jù)庫及主從數(shù)據(jù)庫的設(shè)置方法,在Thinkphp項(xiàng)目開發(fā)中非常實(shí)用。具體實(shí)現(xiàn)方法如下:
一、項(xiàng)目根目錄上建立config.php
代碼如下所示:
<?php if(!defined('THINK_PATH')) exit(); return array( 'DB_TYPE' => 'mysql',// 數(shù)據(jù)庫類型 'DB_HOST' => 'localhost',// 主機(jī) 'DB_NAME' => 'aoli',// 數(shù)據(jù)庫名稱 'DB_USER' => 'root',// 數(shù)據(jù)庫用戶名 'DB_PWD' => '',// 數(shù)據(jù)庫密碼 'DB_PREFIX' => '',// 數(shù)據(jù)表前綴 'DB_CHARSET' => 'utf8',// 網(wǎng)站編碼 'DB_PORT' => '3306',// 數(shù)據(jù)庫端口 );?>
二、設(shè)置項(xiàng)目配置文件
/Home/Conf/config.php文件代碼如下:
<?php $arr1=array{ 'URL_MODEL'=>2, //pathinfo訪問模式 }; $arr2=include './config.php'; return array_merge($arr1,$arr2); //數(shù)組整合?>
/Admin/Conf/config.php文件代碼如下:
<?php $arr1=array{ 'URL_MODEL'=>1, //普通訪問模式 get方式 }; $arr2=include './config.php'; return array_merge($arr1,$arr2); //數(shù)組整合?>
三、主從數(shù)據(jù)庫設(shè)置
該設(shè)置比較適合高并發(fā),高負(fù)載的大型網(wǎng)站
讀者可以到/Thinkphp/Common/convention.php中查看默認(rèn)的系統(tǒng)常量設(shè)置
config.php文件設(shè)置如下:
<?php return array( //'配置項(xiàng)'=>'配置值' //后臺(tái) 'URL_MODE'=>0, 'DB_TYPE'=>'mysql', 'DB_HOST'=>'localhost,192.168.1.2',//兩臺(tái)數(shù)據(jù)庫服務(wù)器 'DB_PORT'=>'3306', 'DB_NAME'=>'thinkphptest',//如果數(shù)據(jù)庫名相同,不用定義多個(gè),如果不相同與服務(wù)器依次對(duì)應(yīng) 'DB_USER'=>'root', 'DB_PWD'=>'password', //表前綴 'DB_PREFIX'=>'think_', //接下來配置主從數(shù)據(jù)庫 'DB_DEPLOY_TYPE'=>1,//開啟分布式數(shù)據(jù)庫 'DB_RW_SEPARATE'=>ture,//讀寫分離,默認(rèn)第一臺(tái)服務(wù)器為寫入服務(wù)器,其它的只讀取不寫入 );?>
在某個(gè)action中讀取數(shù)據(jù)庫文件參數(shù):
$hh=C('DB_HOST'); //C可以讀取配置文件中的值 $pp=C('DB_PREFIX'); $this->assain('h',$hh); $this->assain('p',$pp); $this->display();
這個(gè)action下的tpl:
數(shù)據(jù)庫服務(wù)器地址:{$h} 數(shù)據(jù)庫表前綴:{$p}
希望本文所述方法對(duì)大家的Thinkphp程序設(shè)計(jì)能有所幫助。
php技術(shù):ThinkPHP連接數(shù)據(jù)庫及主從數(shù)據(jù)庫的設(shè)置教程,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。