今天在给站点开启对象缓存(Object Cache)时发现居然不能正常打开了,登陆后台也会直接跳转到另一个站点。
突然回想起来很久以前就遇到过类似的问题,但是忘了当时是如何解决的了,于是又搜索了一番,原来不管是用Memcached
还是Redis
,只要同一服务器下有多个站点使用Object Cache
都会出现此类问题,主要是由于两个站点数据表前缀相同,都是wp_
,从而使缓存数据冲突导致的。
解决办法也很简单,只需要找到wp-config.php
文件并添加以下代码即可:
define('WP_CACHE_KEY_SALT', 'XXXX');
这里设置的意思是自定义缓存的前缀,其中“XXXX”为任意内容,只需要确保不同站点的内容不同即可,建议为相应站点域名,既方便也好区分。
- 2024.2.16更新
经过上述操作后,发现问题并没有完全解决,其中一个站会偶尔串数据,另一个站直接空白打不开了,于是决定从根源下手,直接更换数据表前缀。
奔着越简单越好的想法,使用插件Brozzme DB Prefix
进行一键更换,非常丝滑,亲测有效,更换数据表前缀后两个站均可以正常打开且无数据冲突。
所以以后建新站安装时一定要注意区分更换数据表前缀,尽量做到每个站都用不同的前缀。
0