Visualiser une révision

[PHP] Tester si le serveur cache Memcached fonctionne

voxdemonix : 🐦 (18 avril 2019 00:03:30)

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 ],
 ];
 
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])){
 (削除) return false;
 }
 }
 return true; (削除ここまで)(追記) 	/*	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;
	} (追記ここまで)
}
?>
```