- self::$cache = new Memcache();
-
- if (is_array($servers)) {
- foreach($servers as $server) {
- self::$cache->addServer($server);
+ if (class_exists('Memcache')) {
+ self::$cache = new Memcache();
+
+ // Can't close persistent connections, making forking painful.
+ //
+ // @fixme only do this in *parent* CLI processes.
+ // single-process and child-processes *should* use persistent.
+ $persist = php_sapi_name() != 'cli';
+ if (is_array($servers)) {
+ foreach($servers as $server) {
+ self::$cache->addServer($server, 11211, $persist);
+ }
+ } else {
+ self::$cache->addServer($servers, 11211, $persist);