ThinkPHP连接数据库及主从数据库的设置教程
author:一佰互联 2019-04-28   click:175

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

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

代码如下所示:

<?php
 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",// 数据库端口
 );
?>

二、设置项目配置文件

HomeConfconfig.php文件代码如下:

<?php
 $arr1=array{
  "URL_MODEL"=>2, //pathinfo访问模式
 };
 $arr2=include "./config.php";
 return array_merge($arr1,$arr2); //数组整合
?>

AdminConfconfig.php文件代码如下:

<?php
 $arr1=array{
  "URL_MODEL"=>1, //普通访问模式 get方式
 };
 $arr2=include "./config.php";
 return array_merge($arr1,$arr2); //数组整合
?>

三、主从数据库设置

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

config.php文件设置如下:

<?php
  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中读取数据库文件参数:

  $hh=C("DB_HOST"); //C可以读取配置文件中的值
  $pp=C("DB_PREFIX");
  $this->assain("h",$hh);
  $this->assain("p",$pp);
  $this->display();

这个action下的tpl:

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

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