当前位置:首页 > CMS教程 > 其它CMS > 列表

Drupal 7多站点共用同一个数据库如何配置

发布:smiling 来源: PHP粉丝网  添加日期:2015-04-04 10:01:38 浏览: 评论:0 

很多站长都喜欢做站群,那么利用Drupal是是相当不错的了,Drupal一套程序可以支持多站点,同在我们来讲讲Drupal多站点如何共享一个数据库的配置方法.

Drupal本身对多站点有良好的支持,详细规则可以查看drupal的settings.php获得详细的帮助.这篇文章要介绍的,是多站点如何共享数据表.考虑以下应用场景:

有个网站是phpfensi.com,同时这个站点要启用一个二级域名blog.phpfensi.com.Blog与主站点用户数据共享,这种情况下如何配置?

通过一番调研与实验,在drupal官网上找到解决方案.链接如下,英文不太好的同学,参考这里的步骤就行了.https://drupal.org/node/2622https://drupal.org/node/22267http://www.im87.net/topics/batch-change-mysql-table-prefix/准备:

两个安装好Drupal站点的数据库,如果两个数据库没有表前缀,参考下面的文章进行修改,假设一个表前缀是main_,另外一个是blog_你需要了解如果批量更改数据库的表前缀.参考:http://www.im87.net/topics/batch-change-mysql-table-prefix/

将上面准备好的两个数据库,合并为一个数据库.域名指向同一个路径Drupal安装路径,使用Drupal的多站点机制,两个站点分别使用不同的settings.php文件.(关于这一点,不是本文重点,请自行调研.)

目录结构如下:

sitesexample.comsettings.php

sitesblog.example.comsettings.php

做完以上步骤,最好修改settings.php文件的数据库配置,分别测试,确认合并后的数据库可以正常工作.

配置的技巧,在于settings.php里面$databases变量:

  1. //sitesexample.comsettings.php如下 
  2. $databases = array ( 
  3.   'default' =>  
  4.   array ( 
  5.     'default' =>  
  6.     array ( 
  7.       'database' => 'drupal'
  8.       'username' => 'root'
  9.       'password' => ''
  10.       'host' => 'localhost'
  11.       'port' => ''
  12.       'driver' => 'mysql'
  13.       'prefix' => 'main_'
  14.     ), 
  15.   ), 
  16. ); 
  17.  
  18. //sitesblog.example.comsettings.php配置如下 
  19.  
  20. $databases = array ( 
  21.   'default' =>  
  22.   array ( 
  23.     'default' =>  
  24.     array ( 
  25.       'database' => 'drupal'
  26.       'username' => 'root'
  27.       'password' => ''
  28.       'host' => 'localhost'
  29.       'port' => '',//开源软件:phpfensi.com 
  30.       'driver' => 'mysql'
  31.       'prefix' => array
  32.         'default' => 'blog_'
  33.         'users' => 'main_'
  34.         'sessions' => 'main_'
  35.         'role'      => 'main_'
  36.         'authmap'   => 'main_'
  37.       ), 
  38.     ), 
  39.   ), 
  40. );

Tags: Drupal 7多站点 Drupal共用数据库

分享到: