ThinkPHP连接数据库及主从数据库的设置教程

本文较为详细的讲述了ThinkPHP连接数据库及主从数据库的设置方法,在ThinkPHP项目开发中非常实用。具体实现方法如下:

一、项目根目录上建立config.php

代码如下所示:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
  if (!defined( 'THINK_PATH' )) exit ();
  return array (
   'DB_TYPE'    =>  'mysql' , // 数据库类型 
   'DB_HOST'    =>  'localhost' , // 主机
   'DB_NAME'    =>  'aoli' , // 数据库名称
   'DB_USER'    =>  'root' , // 数据库用户名
   'DB_PWD'     =>  '' , // 数据库密码
   'DB_PREFIX'   =>  '' , // 数据表前缀
   'DB_CHARSET'   =>  'utf8' , // 网站编码
   'DB_PORT'    =>  '3306' , // 数据库端口
  );
?>

二、设置项目配置文件

\Home\Conf\config.php文件代码如下:

?
1
2
3
4
5
6
7
  $arr1 = array {
   'URL_MODEL' =>2, //pathinfo访问模式
  };
  $arr2 = include './config.php' ;
  return array_merge ( $arr1 , $arr2 ); //数组整合
?>

\Admin\Conf\config.php文件代码如下:

?
1
2
3
4
5
6
7
  $arr1 = array {
   'URL_MODEL' =>1, //普通访问模式 get方式
  };
  $arr2 = include './config.php' ;
  return array_merge ( $arr1 , $arr2 ); //数组整合
?>

三、主从数据库设置

该设置比较适合高并发,高负载的大型网站
读者可以到\ThinkPHP\Common\convention.php中查看默认的系统常量设置

config.php文件设置如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
   return array (
   //'配置项'=>'配置值'
   //后台
   'URL_MODE' =>0,
   'DB_TYPE' => 'mysql' ,
   'DB_HOST' => 'localhost,192.168.1.2' , //两台数据库服务器
   'DB_PORT' => '3306' ,
   'DB_NAME' => 'thinkphptest' , //如果数据库名相同,不用定义多个,如果不相同与服务器依次对应
   'DB_USER' => 'root' ,
   'DB_PWD' => 'password' ,
   //表前缀
   'DB_PREFIX' => 'think_' ,
   //接下来配置主从数据库
   'DB_DEPLOY_TYPE' =>1, //开启分布式数据库
   'DB_RW_SEPARATE' =>ture, //读写分离,默认第一台服务器为写入服务器,其它的只读取不写入
   );
?>

在某个action中读取数据库文件参数:

?
1
2
3
4
5
$hh =C( 'DB_HOST' ); //C可以读取配置文件中的值
$pp =C( 'DB_PREFIX' );
$this ->assain( 'h' , $hh );
$this ->assain( 'p' , $pp );
$this ->display();

这个action下的tpl:

?
1
2
数据库服务器地址:{$h}
数据库表前缀:{$p}

希望本文所述方法对大家的ThinkPHP程序设计能有所帮助。


文章来源:http://www.jb51.net/article/54215.htm

你可能感兴趣的:(PHP)