Visualiser une révision

[PHP] Tester si le serveur cache Memcached fonctionne

voxdemonix : révision n°7 (28 mai 2019 17:42:08)

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 la disponibilité (connexion) d'un unique serveur
```php
<?php
if(memcache_connect("www.my_server_memcached.com", 11211)){
	echo "work";
}else{
	echo "not work";
}
?>
```
### Tester la disponibilité (connexion) de plusieurs serveurs
```php
<?php
 
$CONFIG['memcached_servers'] => 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;
	}
}
?>
```