Voici une méthode en PHP permettant de tester si le serveur cache [Memcached](https://fr.wikipedia.org/wiki/Memcached) est bien joingnable.
Vous pouvez voir un exemple type de son fonctionnement dans [ce script de HealthCheck](https://gitlab.com/voxdemonix/cluster/blob/master/HealthCheck/nextcloud/HealthCheck.php) pour nextcloud.
### Tester un seul unique serveur
```php
<?php
if(memcache_connect("www.my_server_memcached.com", 11211)){
echo "work";
}else{
echo "not work";
}
?>
```
### Tester plusieurs serveurs
```php
<?php
$CONFIG['memcached_servers' => [
[ 'server0.example.com', 11211 ],
[ 'server1.example.com', 11211 ],
[ 'server2.example.com', 11211 ],
] array(
array('localhost', 11211),
array('server1.example.com', 11211),
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;
}
}
?>
```