进程间共享表

表名前缀可以选择性的只应用到某些表上,这样多个Drupal安装就可以共享共用的表。一个有趣的应用是共享分类表(vocabularies, term_date),另一个有趣的用法是在多个Drupal安装间共享users表。

为了使用这项功能,先安装两个Drupal到同一数据库中,并使用不同的数据库前缀。在这个例子中,一个前缀为“master_”,另一个为"slave1_"。然后编辑"slave1_"安装的conf.php文件,让一些表指向"master_",实现用户共享,如下:

$db_prefix = array(
    "default" => "slave1_", // slave1_安装的默认表前缀
    "users" => "master_",
    "sessions" => "master_",
    "authmap" => "master_",
    "sequences" => "master_"
    "profile_fields" => "master_",
    "profile_values" => "master_",
);

注意:下面的表含有的数据属于每个站点特有,因此不能被共享:

  • cache
  • variable