如果WordPress使用APC,它会将其用于其对象缓存,并且由于APC是每台机器,而不是每集群,这两个将发生分歧,如果您试图在两台机器上运行一个站点,就会出现问题。
在这种情况下,您需要运行1个memcached deamon,并将2个服务器配置为使用1个实例。
但您提到了两台具有不相关站点的服务器。
因此,在这种情况下,我们遇到了与此相同的问题:
http://wordpress.org/support/topic/many-wp-installations-on-the-same-server
插件作者说:
默认情况下,它应该。But that requires that you use unique table
prefixes (They all cannot be wp_).
要在许多表前缀相同的站点上使用它,可以在wp config中添加一个常量。php称为WP_CACHE_KEY_SALT,例如:
define(\'WP\\u CACHE\\u KEY\\u SALT\',md5(DB\\u NAME)。FILE));
md5(DB\\U名称。FILE) 只要每个站点都是唯一的,就可以被您想要的任何内容所取代。
实际上,您已经偶然发现了memcache的解决方案及其原因。
因此,如果重命名表前缀使其唯一,memcached可能会起作用
对于ellaborate,如果我们看看memcachedredux插件的关键方法:
function key( $key, $group ) {
if ( empty( $group ) )
$group = \'default\';
if ( false !== array_search( $group, $this->global_groups ) )
$prefix = $this->global_prefix;
else
$prefix = $this->blog_prefix;
return preg_replace( \'/\\s+/\', \'\', "$prefix$group:$key" );
}
之后在构造器中:
global $blog_id, $table_prefix;
$this->global_prefix = \'\';
$this->blog_prefix = \'\';
if ( function_exists( \'is_multisite\' ) ) {
$this->global_prefix = ( is_multisite() || defined( \'CUSTOM_USER_TABLE\' ) && defined( \'CUSTOM_USER_META_TABLE\' ) ) ? \'\' : $table_prefix;
$this->blog_prefix = ( is_multisite() ? $blog_id : $table_prefix ) . \':\';
}
在这里,我们可以看到前缀是“”,或者是博客ID或表前缀。
因此,不需要处理多个站点->1个memcached。所以,更改您的表前缀,测试它是否有效。如果没有,则需要修改插件