首页 > 开发 > ThinkPHP > 正文

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

2020-10-12 21:03:47
字体:
来源:转载
供稿:网友

项目根目录上建立config.php:

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

/Home/Conf/config.php

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

/Admin/Conf/config.php

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

主从数据库设置

比较适合高并发,高负载,可以到/ThinkPHP/Common/convention.php中查看默认的系统常量设置.

config.php

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

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

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

这个action下的tpl:

数据库服务器地址:{$h}

数据库表前缀:{$p}

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选