Visualiser une révision

[PHP] Tester si le serveur cache Memcached fonctionne

voxdemonix : 🇧🇪👨👩🇫🇷😍✈️🚀☀️⛅🤔🌥️😨😭 (17 avril 2019 23:53:28)

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 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;
}
?>
```