Wiki [PHP] Tester si le serveur cache Memcached fonctionne

0
17
avr.
2019

Voici une méthode en PHP permettant de tester si le serveur cache Memcached est bien joingnable.
Vous pouvez voir un exemple type de son fonctionnement dans ce script de HealthCheck pour nextcloud.

Tester la disponibilité (connexion) d'un unique serveur

<?php
if(memcache_connect("www.my_server_memcached.com", 11211)){
    echo "work";
}else{
    echo "not work";
}
?>

Tester la disponibilité (connexion) de plusieurs serveurs

<?php

$CONFIG['memcached_servers'] => array(
     array('localhost', 11211),
     array('server1.example.com'),
     array('server2.example.com', 11211),
     );

echo checkCacheMemcached($CONFIG);


function checkCacheMemcached($CONFIG){
            /*  on récupère le nombre de serveur qui va servir de nombre de serveur actif */
    $cpt=count($CONFIG["memcached_servers"]);
            /*  on recupere la liste des serveurs et ports et lance une boucle pour chaque couple*/
    foreach ($CONFIG["memcached_servers"] as $srvInfo) {
            /* on definit le port par défaut si l'utilisateur ne l'a pas défini */
        if(empty($srvInfo[1])){   $srvInfo[1]=11211;  }
            /* on tente de se connecter au serveur */
        if(!memcache_connect($srvInfo[0], $srvInfo[1])){
            /*  un serveur n'est pas dispo, on diminue le nombre de serveur actif   */
            $cpt--;
        }
    }
    if($cpt > 0){
        /*  au moins un serveur est dispo   */
        return true;
    }else{
        return false;
    }
}
?>

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.