背景信息
由于wordpress的问答平台QA主题与插件githuber-md-1.10.1不能共存,为了编写博文方便,因此重新创建了博客论坛。为了解决用户无缝衔接的困扰,因此打算两个网站公用一个数据库,共享用户信息。
共享用户信息
问答中心
目前问答中心网址为:http://xxx.xxx.xxx/wordpress
数据库名为:wordpress
用户/密码为:root/root
用户信息信息表为:wp_users、wp_usermeta
表的前缀:wp_
博客论坛:
目前博客暂定网址为:http://xxx.xxx.xxx/blog,进入blog目录下,创建wp-config.php,把如下文本信息复制到创建创建文件中:
<?php
/**
\* WordPress基础配置文件。
*
\* 这个文件被安装程序用于自动生成wp-config.php配置文件,
\* 您可以不使用网站,您需要手动复制这个文件,
\* 并重命名为“wp-config.php”,然后填入相关信息。
*
\* 本文件包含以下配置选项:
*
\* * MySQL设置
\* * 密钥
\* * 数据库表名前缀
\* * ABSPATH
*
\* @link https://codex.wordpress.org/zh-cn:%E7%BC%96%E8%BE%91_wp-config.php
*
\* @package WordPress
*/
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress数据库的名称 */
define('DB_NAME', 'wordpress');
/** MySQL数据库用户名 */
define('DB_USER', 'root');
/** MySQL数据库密码 */
define('DB_PASSWORD', 'root');
/** MySQL主机 */
define('DB_HOST', 'localhost');
/** 创建数据表时默认的文字编码 */
define('DB_CHARSET', 'utf8mb4');
/** 数据库整理类型。如不确定请勿更改 */
define('DB_COLLATE', '');
define('CUSTOM_USER_TABLE', 'wp_users');
define('CUSTOM_USER_META_TABLE', 'wp_usermeta');
/**#@+
\* 身份认证密钥与盐。
*
\* 修改为任意独一无二的字串!
\* 或者直接访问{@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org密钥生成服务}
\* 任何修改都会导致所有cookies失效,所有用户将必须重新登录。
*
\* @since 2.6.0
*/
define('AUTH_KEY', 'VgL6&ACbHmLNV{0C|F_<gv0M %0D_*iA9nE[gfc`+pBgL!s/i}_Y(2?4Qp!9Ur_n');
define('SECURE_AUTH_KEY', '`jWnvyU9jp,vB-@bvjm5LozjR__iVS*mt7Y9YUQ<X$3l.$h-[W3F6h!rk*z9<lMY');
define('LOGGED_IN_KEY', 'yhF=.i$FcIn;d^f>jYCHSWN`G.CP<{p?7<3b{lNb7NoM;WQIp:j^ipzAFPA458Vb');
define('NONCE_KEY', 'VHh&21a[wf;os>C}uM{#d:DP8]tYv(bD?rS,%k-AO/b_HKgpn.4cOZeL{aJFHGL+');
define('AUTH_SALT', 'N5u4$Tvk.)->s<ctYo<1Ajeo/!?nKK7%qFOvo3S4S5?rKE|2o5X_ThTP5<P[N}G1');
define('SECURE_AUTH_SALT', 'CTWg$s%ZtP1Br]Q=]bIzJ:=bNFz]6=IUT` V#VOfpp]d78,b+CS;LKJ E-so.TwL');
define('LOGGED_IN_SALT', '+IHY&j(]@<Zr[0L&ElJpya{I7}5Xz_wf!c)7&.fHz3l~X=hQp]9LVo{YLq{cTE<$');
define('NONCE_SALT', 'z4}r7Nd{/N&WkG1}Yu3I5B?TcC[1>GN8m[9*Ta%rRy#Ezh{vIkC?>R*Qq*x5x3&3');
/**#@-*/
/**
\* WordPress数据表前缀。
*
\* 如果您有在同一数据库内安装多个WordPress的需求,请为每个WordPress设置
\* 不同的数据表前缀。前缀名只能为数字、字母加下划线。
*/
$table_prefix = 'bg_';
/**
\* 开发者专用:WordPress调试模式。
*
\* 将这个值改为true,WordPress将显示所有用于开发的提示。
\* 强烈建议插件开发者在开发环境中启用WP_DEBUG。
*
\* 要获取其他能用于调试的信息,请访问Codex。
*
\* @link https://codex.wordpress.org/Debugging_in_WordPress
*/
define('WP_DEBUG', false);
/* 好了!请不要再继续编辑。请保存本文件。使用愉快! */
/** WordPress目录的绝对路径。 */
if ( !defined('ABSPATH') )
define('ABSPATH', dirname(__FILE__) . '/');
/** 设置WordPress变量和包含文件。 */
require_once(ABSPATH . 'wp-settings.php');
安装成功之后,博客论坛网站可以使用之前问答中心的用信息登录使用。
上述文件中的两行内容:
define('CUSTOM_USER_TABLE', 'wp_users');
define('CUSTOM_USER_META_TABLE', 'wp_usermeta');
表示两张表不进行创建,其表需要创建。这两张表存放用户信息。至此,用户可以登录博客平台。如果出现提示登录博客论坛未有权限,可以执行下述sql,但需要进行调整:
insert into wp_usermeta SELECT NULL,`user_id`,REPLACE(`meta_key`,'wp_capabilities','bg_capabilities'),`meta_value` FROM `wp_usermeta` where `meta_key`='wp_capabilities'
需要在这张表加入bg_capabilities,解决权限问题。
实现Cookie共享
在问答中心wordpress、博客论坛blog目录的wp-config.php文件中/* 好了!请不要再继续编辑。请保存本文件。使用愉快! */
之前添加信息:
define('SECRET_SALT','Q$QuHIfQO^(CtrL5D(fcG$miB,fE2]-~::qoB,O_?o|TfgNfQB/x/kv$Tg1Aa7Hf');
define('ADMIN_COOKIE_PATH','/');
define('COOKIEPATH','/');
define('SITECOOKIEPATH','/');
define('COOKIEHASH',md5('xxx.xxx.xxx'));
重启服务,登录其中一个论坛,另一个论坛不需要登录,用户已经存在。
实现效果
登录前
在这里插入图片描述登录http://xxx.xxx.xxx/wordpress/前:
在这里插入图片描述
登录后:
wordpress wordpress登录http://xxx.xxx.xxx/blog/
blog信息
上述发现,登录完问答中心之后,博客论坛用户也已经登录成功。
关注我们
网友评论