Pour utiliser Memcached avec WordPress, vous devez installer le Memcached Backend.
Si ce n’est pas encore fait, installez le serveur Memcached et son client PHP.
Memcached Backend marche très bien à condition de n’avoir qu’un seul blog, qu’une installation de WordPress.
Si ce n’est pas le cas, c’est la cata. Il va utiliser les mêmes clefs pour stocker/cacher les données de tous les blogs. En gros, si vous avez le blog A, B et que vous essayez d’accéder au blog B vous verrez les données (posts, commentaires, etc..) du blog A. Vous imaginez le boxon ! Et bien moi j’ai testé 😀
Memcached pour stocker des données utilise une clef qui doit être unique. A chaque clef correspond une valeur. La clef est comme votre nom de variable dans votre code PHP.
J’ai donc regardé le code du fichier object-cache.php et je l’ai modifié. Après un essai infructueux, je pense que la modif est bonne. Je n’ai pas encore vu de bug 🙂
Pour rendre object-cache.php compatible avec plusieurs installations WordPress, il suffit de replacer le code de la function key($key, $group) du fichier object-cache.php par ce code :
function key($key, $group) {
global $blog_id;
if ( empty($group) )
$group = 'default';
// C'est ici que vous devez mettre l'identifiant unique de votre blog, par exemple son adresse
// Chaque blog doit avoir un prefix key différent, ici j'ai mis blog.koreus.com
$prefix = 'blog.koreus.com' . ':';
return preg_replace('/\s+/', '', "$prefix$group:$key");
}
Le fichier object-cache.php modifié doit ensuite être copié dans le répertoire wp-content de votre blog.
Ce n’est pas une solution super propre mais elle marche (en tout cas elle a l’air).
Avertissement
Merci, est c’au juste de ce que j’ai eu besoin.