fix: re-salt Memcached keys after drop-in load to isolate multi-site cache
- WP_CACHE_KEY_SALT defined in MU-plugin is too late: object-cache.php (Memcached drop-in) loads before MU-plugins - Add muplugins_loaded hook: call salt_keys(DB_NAME) directly on the initialized Memcached object cache instance - Each site gets unique key prefix from its database name - Prevents cross-site cache collision when multiple WP sites share one Memcached server
This commit is contained in:
parent
2c84bf3989
commit
d247b513d1
@ -29,6 +29,18 @@ if ( ! defined( 'WP_CACHE_KEY_SALT' ) && defined( 'DB_NAME' ) ) {
|
||||
if ( ! defined( 'WP_REDIS_HOST' ) ) {
|
||||
define( 'WP_REDIS_HOST', '127.0.0.1' );
|
||||
}
|
||||
|
||||
// Пересолить ключи объектного кеша после загрузки drop-in.
|
||||
// WP_CACHE_KEY_SALT в MU-плагине — слишком поздно (drop-in грузится раньше).
|
||||
// Вызываем salt_keys() напрямую на уже инициализированном объекте кеша.
|
||||
if ( defined( 'DB_NAME' ) ) {
|
||||
add_action( 'muplugins_loaded', function () {
|
||||
global $wp_object_cache;
|
||||
if ( isset( $wp_object_cache ) && method_exists( $wp_object_cache, 'salt_keys' ) ) {
|
||||
$wp_object_cache->salt_keys( DB_NAME );
|
||||
}
|
||||
}, 0 );
|
||||
}
|
||||
if ( ! defined( 'WP_REDIS_PORT' ) ) {
|
||||
define( 'WP_REDIS_PORT', 6379 );
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user