Drupal 7多站點共用同一個數(shù)據(jù)庫如何配置

字號:


    很多站長都喜歡做站群,那么利用Drupal是是相當不錯的了,Drupal一套程序可以支持多站點,同在我們來講講Drupal多站點如何共享一個數(shù)據(jù)庫的配置方法。
    Drupal本身對多站點有良好的支持,詳細規(guī)則可以查看drupal的settings.php獲得詳細的幫助.
    這篇文章要介紹的,是多站點如何共享數(shù)據(jù)表.考慮以下應用場景:
    有個網(wǎng)站是example.com,同時這個站點要啟用一個二級域名blog.example.com.
    Blog與主站點用戶數(shù)據(jù)共享,這種情況下如何配置?
    通過一番調(diào)研與實驗,在drupal官網(wǎng)上找到解決方案.鏈接如下. 英文不太好的同學,參考這里的步驟就行了.https://drupal.org/node/2622https://drupal.org/node/22267http://www.im87.net/topics/batch-change-mysql-table-prefix/準備:
    兩個安裝好Drupal站點的數(shù)據(jù)庫,如果兩個數(shù)據(jù)庫沒有表前綴,參考下面的文章進行修改.
    假設一個表前綴是main_,另外一個是blog_
    你需要了解如果批量更改數(shù)據(jù)庫的表前綴.參考:
    將上面準備好的兩個數(shù)據(jù)庫,合并為一個數(shù)據(jù)庫.
    域名指向同一個路徑Drupal安裝路徑
    使用Drupal的多站點機制,兩個站點分別使用不同的settings.php文件.(關于這一點,不是本文重點,請自行調(diào)研.)
    目錄結(jié)構(gòu)如下:
    sitesexample.comsettings.php
    sitesblog.example.comsettings.php
    做完以上步驟,最好修改settings.php文件的數(shù)據(jù)庫配置,分別測試,確認合并后的數(shù)據(jù)庫可以正常工作.
    配置的技巧,在于settings.php里面$databases變量.
    //sitesexample.comsettings.php如下
    $databases = array (
    'default' =>
    array (
    'default' =>
    array (
    'database' => 'drupal',
    'username' => 'root',
    'password' => '',
    'host' => 'localhost',
    'port' => '',
    'driver' => 'mysql',
    'prefix' => 'main_',
    ),
    ),
    );
    //sitesblog.example.comsettings.php配置如下
    $databases = array (
    'default' =>
    array (
    'default' =>
    array (
    'database' => 'drupal',
    'username' => 'root',
    'password' => '',
    'host' => 'localhost',
    'port' => '',
    'driver' => 'mysql',
    'prefix' => array(
    'default' => 'blog_',
    'users' => 'main_',
    'sessions' => 'main_',
    'role' => 'main_',
    'authmap' => 'main_',
    ),
    ),
    ),
    );